我可以在创建视图的模型中收听骨干视图的变化吗?
Posted
技术标签:
【中文标题】我可以在创建视图的模型中收听骨干视图的变化吗?【英文标题】:can I listen to bacbone view changes in a model where the view was created? 【发布时间】:2013-06-05 15:40:25 【问题描述】:我的骨干有问题,我是骨干新手,所以我想在这里寻求帮助。我正在编写一个单页应用程序,我需要从模型中监听视图的变化。
// 我有这个模型,我在其中创建了名为 Window 的视图(使用 require.js),我想听一下我的视图中的变化,但我无法实现。我在 Window.view 中有变量,例如:显示。而且我需要知道显示的更改是否为假。有没有办法让它发生?
var Initialize = Backbone.Model.extend(
initialize: function()
var SystemInfoWindow = new Window(this.toJSON());
//
);
【问题讨论】:
【参考方案1】:你不能监听视图属性的变化,你只能监听模型属性的变化(感谢listenTo
和on
等方法)。但是,您可以做的是将您的视图绑定到具有所需属性的某个模型,以便您可以收听它。例如:
var Initialize = Backbone.Model.extend(
defaults:
shown: false
,
initialize: function()
var SystemInfoWindow = new Window(model: this);
// and then
someObject.listenTo(this, 'change:shown', someObject.someListener);
);
【讨论】:
感谢您快速而有用的回答。我可以使它与您的解决方案一起使用。谢谢你:)以上是关于我可以在创建视图的模型中收听骨干视图的变化吗?的主要内容,如果未能解决你的问题,请参考以下文章