Jan*_*ray 2 javascript backbone.js
基本上,我正在尝试做这样的事情:
Person = Backbone.Model.extend({
validate: { ... },
initialize: function(){
this.bind('error', ?......?); <== what do I put?
},
// I DON'T WANT TO CALL THIS ONE
handleError: function(){ }
});
ViewOne = Backbone.View.extend({
//I WANT TO CALL THIS ONE:
handleError: function(model, error){
//display inside segmented view using jQuery
};
});
Run Code Online (Sandbox Code Playgroud)
我试过options.view.handleError但它不起作用......
我的主要目的:我想要一个特定的View创建模型来处理错误,而不是让模型全局处理它.例如,我希望View#1在我希望View#2显示在div中时发出警报.我不知道这是否是正确的做法.如果没有,我很乐意接受你的帮助.
谢谢.
更新:这是我的jsFiddle http://jsfiddle.net/jancarlo000/87mAk/
从Backbone 0.5.2开始,如果需要传递上下文,建议删除bindAll以支持第三个绑定参数.
ViewOne = Backbone.View.extend({
initialize: function() {
this.model.on('error', this.handleError, this);
},
handleError: function(model, error) { /* ... */ }
});
...
var person = new Person();
var viewone = new ViewOne({model : person});
Run Code Online (Sandbox Code Playgroud)
这里的一般说明是,模型永远不应该知道他们的观点.只有视图应订阅模型事件.