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 に答える