在(最新)Dart Web UI中,通過模板添加或從DOM刪除元素時處理元素的最佳方式是什麼?理想情況下,我想在模板中註冊一個回調權限,但這不是必需的。如何處理通過Dart Web UI模板添加或從DOM中刪除的元素
背景:我需要從兩個JS庫(其中一個是JQuery插件)註冊/取消註冊某些DOM元素。由於我的模板使用循環和條件(以及數據綁定),所以元素可以隨時來去,我不能在初始渲染後註冊它們。
在(最新)Dart Web UI中,通過模板添加或從DOM刪除元素時處理元素的最佳方式是什麼?理想情況下,我想在模板中註冊一個回調權限,但這不是必需的。如何處理通過Dart Web UI模板添加或從DOM中刪除的元素
背景:我需要從兩個JS庫(其中一個是JQuery插件)註冊/取消註冊某些DOM元素。由於我的模板使用循環和條件(以及數據綁定),所以元素可以隨時來去,我不能在初始渲染後註冊它們。
可以將組件的回調添加到組件的類中,該回調可以在創建,插入到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.
}
}
JS插件需要使用某種元素類型(例如'div'或'ul')。這是否意味着我需要擴展像'DivComponent'之類的東西?這仍然會被JS/CSS識別爲'div'嗎?一個自定義的Web組件對於這個(所謂的普通)要求並不覺得是正確的,但是如果它起作用,那肯定比沒有好。 –
自定義組件都將被聲明爲一個類型的div,段落或其他HTML元素,然後用您定義,因爲它的構造函數的類,所以我想你會沒事的。看看如何聲明一個自定義組件... http://www.dartlang.org/articles/web-ui/#component-declaration,該示例使用
彼得,你得到這個使用Web UI的生命週期方法的工作? – ianmjones
對不起,我把項目擱置了,因此沒有取得進展。儘管如此,你的答案是有價值的,經過更多的研究,我相信這是解決這個問題的正確方法(儘管它對我來說仍然感到很奇怪)。因此,我會很樂意接受你的答案。 –