Angular - Renderer2: Как установить атрибут без значения?
В Set Attribute Without value есть пост, который предлагает хорошее решение, используя $('body').attr('data-body','');
Однако в моем текущем ионном проекте я использую API Renderer2 от Angular для управления DOM, и у меня есть требование динамически создавать кнопки, а также устанавливать ion-button
как один из атрибутов.
Я могу установить атрибуты, имеющие значение с помощью приведенного ниже кода, но не получаю никакой удачи в выяснении, как добавить атрибут без значения.
// Make Copy Button functional
this.renderer.setAttribute(code, 'id', 'copy-target');
this.renderer.addClass(button, 'copy-button');
this.renderer.setAttribute(button, 'data-clipboard-action', 'copy');
this.renderer.setAttribute(button, 'data-clipboard-target', '#copy-target');
this.renderer.setAttribute(button, 'ion-button', null); // this doesn't work.
Любое руководство приветствуется.
1 ответ
Вы должны просто передать пустую строку. Я только что попробовал:
this.r.setAttribute(this.div.nativeElement, "ion-button", "");
На
@ViewChild("div") div: ElementRef;
И получил
<div _ngcontent-c0="" ion-button="">Divara</div>
Который так же, как
<div _ngcontent-c0="" ion-button>Divara</div>
Chrome даже отображает это в инструментах разработчика: