2

如何从视图模型中添加和删除自定义属性?

使用 targetElement.SetAttribute('mycustomelement') 添加属性不会激活 Aurelia 自定义属性。

TemplatingEngine.Enhance() 能否为视图模型中的自定义属性带来活力?

4

1 回答 1

0

你可以这样做:

<div id="dummy">lorum ipsum</div>
<button click.delegate="addAttribute()">click here</button>

后面有代码

public addAttribute() {

    let el = document.getElementById("dummy");
    el.setAttribute("css.bind", "{ color: 'red' }");

    if (el && !el.querySelectorAll('.au-target').length) {
      var element = this.templatingEngine.enhance(el);
      console.dir( element.viewFactory );
    }
}

不知道如何解除绑定,当您多次附加元素时(我猜)它会出现内存问题或错误(因此添加了对 .au-target 的检查)。函数上面的文档说你现在负责它的生命周期。

你试图完成什么?可能有更好的方法..

于 2016-09-05T07:31:53.240 回答