2016-09-02 20 views

答えて

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のチェックが追加されました)。関数の上に書かれているドキュメントは、あなたが今、そのライフサイクルを担当していると言います。

達成しようとしているのは何ですか?より良い方法があるかもしれません。

+0

ほとんど、私はカスタム属性を有効にしようとしていますし、エンハンスメソッドは属性のライフサイクルメソッドを起動しません。 これは、属性をDOMに追加するだけですが、aurelia-templating-bitsを通過しないようです。 – Mike

+0

まあ、それは私の最初の選択ではありませんが、あなたは "aurelia-testing"を含めることができ、あなたのために完全なhtmlをレンダリングして置き換えることができますが、それは私が推測する変更でもう更新されませんが、添付してください。厄介なハッキングのような感じです:-)または、aureliaテストのコードをチェックして、そこから何かが見つかるかどうか確認してください:-) –

+0

良いヒント、私はaurelia-testingのsrcを調べて、実際にライフサイクルアップし、属性リソースを注入します。属性を追加するという単純なことではあまりにも複雑なやり方で、ちょっとハッキリしていると私は同意することができます。 :-) – Mike

関連する問題