1

有一篇关于Set Attribute Without value的帖子,它提供了一个很好的解决方案$('body').attr('data-body','');

但是,在我当前的 ionic 项目中,我使用 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.

任何指导表示赞赏。

4

1 回答 1

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 甚至在开发者工具中这样渲染它:

在此处输入图像描述

于 2018-07-23T07:47:26.183 回答