Angular使用髒檢查來捕捉數據更改並相應地更改模型或視圖。 Ember爲每個元素設置觀察者來完成這個過程。 但是骨幹怎麼做呢?骨幹如何觀察數據變化?
1
A
回答
1
Backbone不處理更新視圖的數據更改(默認情況下)。
讓我們來看看。
Backbone.Model擁有Backbone.Events的所有方法。所以當數據改變時,Model調用this.trigger()函數。
但你應該訂閱的「改變」事件來處理所有數據操作:
myModel.on('change:attributeName', myView.render, myView);
也許倒不如說,骨幹網使用setter和Backbone.Events觀察數據的變化。
1
正如@Leestex所回答的,骨幹不會爲您綁定數據更改。
但是,最好在視圖內部使用listenTo。例如:
MyView = Backbone.View.extend({
initialize: function() {
this.listenTo(this.model, 'change', this.render);
}
});
見: http://backbonejs.org/#Events-listenTo
另一種爲視圖聽模型事件是一個處理程序附加到模型,就像這樣:
this.model.on('change', this.render);
但它通常是不建議,因爲你必須使用off()
手動分離處理程序。當您收聽多個型號時,可能會變得雜亂,並可能導致 zombie views。
使用listenTo()
的好處是您可以撥打stopListening()
,它將取消綁定與該對象關聯的回調。在這種情況下,該對象是視圖。
相關問題
- 1. GreenDAO:觀察變化
- 2. 耙 - 觀察變化
- 3. Magento如何防止觀察者的數據變化
- 4. 如何NSObject的性質觀察變化
- 5. 如何觀察NSScroller的變化?
- 6. 對觀察員的觀察員觀察員是否會發生任何變化?
- 7. $觀察變化的變化angularjs
- 8. 轉化觀察到變量
- 9. 觀察UIDatePicker中的變化
- 10. 觀察變化成功
- 11. jQuery:觀察nodevalue變化
- 12. 觀察屬性的變化
- 13. FIRStorageReference觀察變化Swift
- 14. 觀察MySQL的變化表?
- 15. 骨幹觀的繼承
- 16. 拆散骨幹觀活動
- 17. 骨幹景觀設計
- 18. 觀察成員變量值的變化
- 19. 觀察Angular2中的變量值變化
- 20. 觀察變量變化不起作用
- 21. 如何讓選定的項目改變類(如何使屬性在骨幹中可觀察)
- 22. 骨幹示範變化數據影響另一個
- 23. 骨幹:渲染樹數據和更新變化
- 24. 如何將數組的可觀察性轉化爲可觀察數組(RxJS)
- 25. 觀察數據變化的不同方式
- 26. Android - 觀察者數據庫與GreenDao ORM變化
- 27. Require.js +骨幹優化
- 28. 如何使異步數據可觀察?
- 29. RxJava2如何觀察UDP數據包?
- 30. 如何從指令內部觀察變量的變化?
它是這樣的,主幹沒有自動綁定功能?我們必須爲它編碼? –
@PaulShan。但隨意使用一些插件,如[epoxyjs](http://epoxyjs.org/)進行數據綁定。 – Nazar
至於我,最好使用'model.on('change',view.render)'。但一切都取決於你自己的情況 – Nazar