1
如何添加和刪除視圖模型中的自定義屬性?Aurelia:如何添加和刪除視圖模型中的自定義屬性
添加具有targetElement.SetAttribute屬性(「mycustomelement」)不會激活奧裏利亞自定義屬性。
能TemplatingEngine.Enhance()帶來生命從視圖模型自定義屬性?
如何添加和刪除視圖模型中的自定義屬性?Aurelia:如何添加和刪除視圖模型中的自定義屬性
添加具有targetElement.SetAttribute屬性(「mycustomelement」)不會激活奧裏利亞自定義屬性。
能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 - 目標)。函數上面的文檔說明你現在負責它的生命週期。
它是什麼,你盡力去完成?有可能是一個更好的辦法..
差不多,我試圖激活一個自定義屬性和增強-方法將不會調用屬性的任何生命週期方法。 看來這只是將屬性添加到DOM,但不會通過aurelia模板位。 – Mike
嗯,這不是我的第一選擇,但你可以包含「aurelia-testing」,讓它爲你呈現完整的html,然後替換它,但是它不會更新我猜想的更改,但會通過綁定/附加的/ etc。感覺就像一個討厭的黑客:-)或檢查Aurelia路上測試的代碼,看看你是否能找到有什麼得到它的工作:-) –
很好的提示,我通過SRC拍得奧裏利亞測試和他們真正包住生命週期向上並注入屬性資源。對於一個「簡單的事情」來說,添加一個屬性的方式太複雜了,我可以同意它感覺有點冒險。 :-) – Mike