BackboneJS:从不同的视图修改单个模型
BackboneJS: Modify a single model from different views
如何从不同的视图修改单个模型?
伪代码:
var myModel = Backbone.Model.extend({url: 'rest'});
var myCollection = Backbone.Model.extend({});
var myView1 = Backbone.Views.extend({
initialize: function() {
// sets a data in model so it can be use by second and third view
myModel().fetch();
},
events: {
'event': 'callSecondView',
'event': 'callThirdView'
},
callSecondView: function() {
// second view will use the current records in myModel that
// was created during initialization or from the modification
// of 1st or third view
new myView2({model: myModel})
},
callThirdView: function() {
// third view will use the current records in myModel that
// was created during initialization
// of 1st or third view
new myView3({model: myModel})
}
});
var myView2 = Backbone.Views.extend({
events: {
'event': 'modifyMyModel'
},
modifyMyModel: function() {
this.model.set(etc)
// Modifying model here should affect the 1st and 3rd view's model
}
});
var myView3 = Backbone.Views.extend({
events: {
'event': 'modifyMyModel'
},
modifyMyModel: function() {
this.model.set(etc)
// Modifying model here should affect the 1st and 2nd view's model
}
});
这可能吗?还是应该把这三个视图合并成一个视图?(这将导致一个怪物视图)
它看起来很丑,为什么不先获取模型,然后根据需要创建多少个视图呢?
var MyModel = Backbone.Model.extend({url: '/api/data'});
var View1 = Backbone.View.extend({});
var View2 = Backbone.View.extend({});
var View3 = Backbone.View.extend({});
var myModel = new MyModel();
myModel.fetch({
success: function(){
window.myView1 = new View1({model:myModel});
window.myView2 = new View1({model:myModel});
window.myView3 = new View1({model:myModel});
}
});
// in console
myView1.model == myModel
true
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 正在使用$location.path(.)路由ng视图
- angular.js没有'无法在PhoneGap中处理视图标记
- 如何包含特定于每个视图angularjs的javascript文件
- 在Safari执行javascript之前对其进行修改
- 如何使用 javascript 修改网格视图单元格值
- 从 Angular.js 视图中修改方法中的数据的最佳做法
- 从视图中修改ng模型
- 从局部视图内部修改主视图
- 用于修改从子视图模型在父视图上可观察到的删除的模式
- 如何在ASP.net网格视图中修改jQuery进度条颜色
- Backbone.js一个模型被多个视图修改
- BackboneJS:从不同的视图修改单个模型
- 在Ember中,我如何在ArrayController的内容被修改后更新视图
- 如何根据用户视图端口动态修改槽位值
- Ionic:在ui视图中修改导航栏按钮
- Ext JS 4.0修改视图不会修改浏览器中的输出.请帮助
- 当组件'子组件内部发生变化时,修改组件'的视图
- 如何在修改视图后再次初始化dragula
- 当子控制器修改父作用域变量时,视图中的父作用域变量不会更新