1
ビューモデルからカスタム属性を追加および削除するにはどうすればよいですか?Aurelia:ビューモデルからカスタム属性を追加および削除する方法
targetElement.SetAttribute( 'mycustomelement')で属性を追加しても、Aureliaカスタム属性はアクティブ化されません。
TemplatingEngine.Enhance()はビューモデルのカスタム属性に影響を与えますか?
ビューモデルからカスタム属性を追加および削除するにはどうすればよいですか?Aurelia:ビューモデルからカスタム属性を追加および削除する方法
targetElement.SetAttribute( 'mycustomelement')で属性を追加しても、Aureliaカスタム属性はアクティブ化されません。
TemplatingEngine.Enhance()はビューモデルのカスタム属性に影響を与えますか?
あなたはこれを行うことができます。
<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のチェックが追加されました)。関数の上に書かれているドキュメントは、あなたが今、そのライフサイクルを担当していると言います。
達成しようとしているのは何ですか?より良い方法があるかもしれません。
ほとんど、私はカスタム属性を有効にしようとしていますし、エンハンスメソッドは属性のライフサイクルメソッドを起動しません。 これは、属性をDOMに追加するだけですが、aurelia-templating-bitsを通過しないようです。 – Mike
まあ、それは私の最初の選択ではありませんが、あなたは "aurelia-testing"を含めることができ、あなたのために完全なhtmlをレンダリングして置き換えることができますが、それは私が推測する変更でもう更新されませんが、添付してください。厄介なハッキングのような感じです:-)または、aureliaテストのコードをチェックして、そこから何かが見つかるかどうか確認してください:-) –
良いヒント、私はaurelia-testingのsrcを調べて、実際にライフサイクルアップし、属性リソースを注入します。属性を追加するという単純なことではあまりにも複雑なやり方で、ちょっとハッキリしていると私は同意することができます。 :-) – Mike