2016-09-02 44 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 - 目標)。函數上面的文檔說明你現在負責它的生命週期。

它是什麼,你盡力去完成?有可能是一個更好的辦法..

+0

差不多,我試圖激活一個自定義屬性和增強-方法將不會調用屬性的任何生命週期方法。 看來這只是將屬性添加到DOM,但不會通過aurelia模板位。 – Mike

+0

嗯,這不是我的第一選擇,但你可以包含「aurelia-testing」,讓它爲你呈現完整的html,然後替換它,但是它不會更新我猜想的更改,但會通過綁定/附加的/ etc。感覺就像一個討厭的黑客:-)或檢查Aurelia路上測試的代碼,看看你是否能找到有什麼得到它的工作:-) –

+0

很好的提示,我通過SRC拍得奧裏利亞測試和他們真正包住生命週期向上並注入屬性資源。對於一個「簡單的事情」來說,添加一個屬性的方式太複雜了,我可以同意它感覺有點冒險。 :-) – Mike

相關問題