2013-06-01 45 views
3

在(最新)Dart Web UI中,通過模板添加或從DOM刪除元素時處理元素的最佳方式是什麼?理想情況下,我想在模板中註冊一個回調權限,但這不是必需的。如何處理通過Dart Web UI模板添加或從DOM中刪除的元素

背景:我需要從兩個JS庫(其中一個是JQuery插件)註冊/取消註冊某些DOM元素。由於我的模板使用循環和條件(以及數據綁定),所以元素可以隨時來去,我不能在初始渲染後註冊它們。

+0

彼得,你得到這個使用Web UI的生命週期方法的工作? – ianmjones

+0

對不起,我把項目擱置了,因此沒有取得進展。儘管如此,你的答案是有價值的,經過更多的研究,我相信這是解決這個問題的正確方法(儘管它對我來說仍然感到很奇怪)。因此,我會很樂意接受你的答案。 –

回答

1

可以將組件的回調添加到組件的類中,該回調可以在創建,插入到DOM或從DOM中移除時觸發。

Web UI Specification: Lifecycle Methods

class MyComponent extends WebComponent { 

    inserted() { 
    // Do stuff when inserted into DOM. 
    } 

    removed() { 
    // Do stuff when removed from DOM. 
    } 
} 
+0

JS插件需要使用某種元素類型(例如'div'或'ul')。這是否意味着我需要擴展像'DivComponent'之類的東西?這仍然會被JS/CSS識別爲'div'嗎?一個自定義的Web組件對於這個(所謂的普通)要求並不覺得是正確的,但是如果它起作用,那肯定比沒有好。 –

+0

自定義組件都將被聲明爲一個類型的div,段落或其他HTML元素,然後用您定義,因爲它的構造函數的類,所以我想你會沒事的。看看如何聲明一個自定義組件... http://www.dartlang.org/articles/web-ui/#component-declaration,該示例使用。這是我能想到的跟蹤插入和移除的最乾淨的方式,但是如果你的元素不容易組件化,希望有另一種解決方案。 – ianmjones

相關問題