Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 监听木偶对象中变量的变化?_Backbone.js_Marionette - Fatal编程技术网

Backbone.js 监听木偶对象中变量的变化?

Backbone.js 监听木偶对象中变量的变化?,backbone.js,marionette,Backbone.js,Marionette,哪个事件方法有助于捕获对木偶对象中定义的“变量”值集的更改 e、 g: 这里我想检测变量this.state的变化。有没有像ListTonce那样可以发射一次的选项 用法: var loginM=new LoginModule(); loginM.init(模型)编辑: 我想我为你找到了更好的解决办法。试试下面的方法。 首先,像这样更改init方法 init: function(model) { model.fetch({validate:true}) .done

哪个事件方法有助于捕获对木偶对象中定义的“变量”值集的更改

e、 g:

这里我想检测变量
this.state的变化。有没有像ListTonce那样可以发射一次的选项

用法:

var loginM=new LoginModule();
loginM.init(模型)

编辑: 我想我为你找到了更好的解决办法。试试下面的方法。 首先,像这样更改init方法

init: function(model) {
        model.fetch({validate:true})
        .done(function() {
            this.state = 'success';
            this.triggerMethod('state:changed');
        })
        .fail(function(res){
            console.log(res);
            this.state = 'failed';
            this.triggerMethod('state:changed');
        });

        return model;
    }
之后,您可以捕获事件
状态:已更改
,如下所示:

this.on("state:changed", function(){
     //handle your changed state
});
编辑: 我想我为你找到了更好的解决办法。试试下面的方法。 首先,像这样更改init方法

init: function(model) {
        model.fetch({validate:true})
        .done(function() {
            this.state = 'success';
            this.triggerMethod('state:changed');
        })
        .fail(function(res){
            console.log(res);
            this.state = 'failed';
            this.triggerMethod('state:changed');
        });

        return model;
    }
之后,您可以捕获事件
状态:已更改
,如下所示:

this.on("state:changed", function(){
     //handle your changed state
});

谢谢@vlad。当我像下面这样绑定时,回调不会被触发
var loginM=new LoginModule();loginM.on('change',function(){console.log('changes fired')});loginM.init(模型)你找到什么具体原因了吗?谢谢@vlad。当我像下面这样绑定时,回调不会被触发
var loginM=new LoginModule();loginM.on('change',function(){console.log('changes fired')});loginM.init(模型)您是否找到了任何具体原因?