Angular-Renderer2:如何设置没有值的属性?

时间:2018-07-23 06:29:08

标签: angular angular-renderer2

Set Attribute Without value上有一条帖子,使用$('body').attr('data-body','');

提供了很好的解决方案

但是,在我当前的离子项目中,我正在使用Angular的Renderer2 API来操作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 个答案:

答案 0 :(得分:0)

您应该只传递一个空字符串。 我刚刚尝试过:

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甚至在开发者工具中呈现它:

enter image description here