【问题标题】: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());

            // 

        }
    });

【问题讨论】:

    标签: backbone.js view model


    【解决方案1】:

    你不能监听视图属性的变化,你只能监听模型属性的变化(感谢listenToon等方法)。但是,您可以做的是将您的视图绑定到具有所需属性的某个模型,以便您可以收听它。例如:

    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);
      }
    });
    

    【讨论】:

    • 感谢您快速而有用的回答。我可以使它与您的解决方案一起使用。谢谢你:)
    猜你喜欢
    • 2015-08-22
    • 2013-09-22
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多