放置无效事件监听器的位置

时间:2014-05-14 23:27:20

标签: backbone.js

我的模型中有一个验证函数,看起来像

validate: function(attributes, options) {
    if(attributes.name == "") {
        return 'Please provide a name';
    }
},

然后我将此模型添加到collect并创建一个新集合,并在我的模型验证失败时添加我的事件监听器

var TheCollection = new MyCollection;

TheCollection.on('invalid', function(model, errors) {
    //Do something
});

这是放置听众的正确位置吗?我很确定不是,但我不知道还能把它放在哪里。我需要将它放在视图中吗?

1 个答案:

答案 0 :(得分:0)

是的,我会说它属于视图。据推测,您在视图中定义了某种函数来处理保存模型,并绑定到适当的事件,例如单击提交按钮。在该函数中,我首先调用model.isValid(),然后根据响应,保存有效模型或向用户返回错误。

作为一般的经验法则,如果你想在控制器中放置一些服务器端的MVC框架,那么视图通常是把它放在Backbone中的最佳位置。就个人而言,我发现Backbone的一般理念类似于Django背后的MTV理念,其中的视图取代了控制器。