我想了解在attached()
和detached()
事件中聚合物組件內設置和取消設置觀察者的正確方法,因此只有在元素被連接後才能開始觀察。有任何想法嗎?如何在Polymer中設置和取消設置觀察者?
1
A
回答
2
目前,沒有公開的API來強制添加觀察者(但存在私有的),並且根本沒有API來刪除它們。
私有函數_addComplexObserverEffect(...)
在一個或多個屬性上創建觀察者。它是處理Polymer對象observers
數組中每個觀察者表達式的函數。注意使用私有函數的警告是它可能在下一個版本中不可用。
你可以使用這樣的:
Polymer({
...,
properties: {
foo: String
},
attached: function() {
this._addComplexObserverEffect('_fooChanged(foo)');
},
_fooChanged: function(foo) { ... }
});
2
如果你不想使用的私有方法和它只是時間問題,而不是一個需要有ñ動態觀察者,只要元素已連接就設置一個道具,將該道具添加到觀察者,並且僅在連接時執行。
Polymer({
is: 'my-el',
properties: {
bar: String,
attached: {
type: Boolean,
value: false
}
},
observers: [
'_barChagned(bar, attached)'
],
_barChagned: function(bar, att) {
if(!att) return;
// Do your stuff
},
attached: function() {
this.set('attached', true);
}
});
相關問題
- 1. Magento觀察者設置
- 2. 如何設置MongoMapper觀察者
- 3. 如何設置和隨後取消多個觀察者在REDX-SAGO
- 4. 如何在Netbeans中設置觀察點?
- 5. JetBrains WebStorm忽略觀察者設置
- 6. Vue.js如何在計算屬性中設置觀察者?
- 7. 你如何在Webstorm中設置觀察者?
- 8. 如何在magento中設置監控客戶的觀察者?
- 9. 觀察者設計模式 - 具體主題和觀察者
- 10. 如何在Polymer中設置flex-shrink:0
- 11. 在GDB中設置觀察點
- 12. 無法在GDB中設置觀察點
- 13. Firefox擴展dev:如何設置觀察者一次
- 14. 如何在JSF2.0中設置和取消設置
- 15. 無法在Swift中設置獲取者和設置者
- 16. 在Magento中設置觀察者的正確方法是什麼?
- 17. 如何在Swift中刪除在閉包中設置的通知觀察者?
- 18. 觀察者設計模式在Java中
- 19. 如何在Autodesk Viewer中設置性能和外觀設置?
- 20. Javascript MVC - 觀察者位置
- 21. 觀察者設計模式和其他
- 22. 設置和取消設置Cookie
- 23. 在gdb上設置errno的觀察點
- 24. 如何在打字稿中設置可觀察屬性異步?
- 25. 如何在dbx中設置硬件觀察點?
- 26. 如何在PhpStorm中正確設置scss文件觀察器?
- 27. 如何在Linux中通過procfs設置觀察點?
- 28. 如何在crontab中取消設置MAILTO?
- 29. 如何在HTTPUrlConnection中取消設置ContentHandlerFactory
- 30. 如何在PHP中取消cookie設置?
有沒有計劃能夠在未來做到這一點?公開設置和未設置的方法? –