如何在Backbone中将模型(数据)从一个视图传递到另一个视图并编辑/删除它
How to pass a model(data) from one view to another in Backbone and edit/delete it?
我有一个使用BackboneJS的web应用程序。在这个应用程序中,我有一个LayoutView.js文件,其中有一个骨干视图(称为LayoutView)。LayoutView有其他调用其他视图的函数(方法)。我在LayoutView的初始化函数中获取一些数据,我需要在另一个视图和工作(更新/删除)中获得相同的数据(模型)。下面是我如何从LayoutView传递数据到myView:
var LayoutView = Backbone.View.extend({
el: $("#mi-body"),
initialize: function () {
var that = this;
this.ConfigData = new Configurations(); //Configurations is a collection
this.ConfigData.fetch({
success: function () {
alert("success");
},
error: function () {
alert("error");
}
});
this.render();
Session.on('change:auth', function (session) {
var self = that;
that.render();
});
},
render: function () {
// other code
},
events: {
'click #logout': 'logout',
'click #divheadernav .nav li a': 'highlightSelected'
},
myView: function () {
if (Session.get('auth')) {
this.$el.find('#mi-content').html('');
this.options.navigate('Myview');
return new MyLayout(this.ConfigData);
}
}
});
仍然,我不知道如何"获取"/访问这些数据作为我当前的数据/模型/集合(我不确定哪个术语是正确的)在myView和工作上使用Backbone的"model.save(), model.destroy()"方法。此外,每当编辑/删除发生时,ConfigData的数据应该被修改,更新应该反映在显示给用户的html中。
下面是来自MyView的代码: var MyView = Backbone.View.extend({
tagName: 'div',
id: "divConfigurationLayout",
initialize: function (attrs) {
this.render();
},
render: function () {
var that = this;
},
events: {
"click #Update": "update",
"click #delete": "delete"
},
update: function(){
//code for updating the data like model.save...
},
delete: function(){
//code for deleting the data like model.destroy...
}
});
现在我传递的数据在initialize函数的attrs中。如何做到这一点? 实例化Backbone视图的语法为new View(options)
,其中options
为具有键值对的Object
。
要将集合传递给视图,您可以这样实例化它:
new MyLayout({
collection : this.configData
});
在您的视图中,this.collection
将指您的configData
集合。
相关文章:
- 在Angular ui路由器中,如何将事件从一个视图发送到另一个视图
- 当我点击MVC视图中的图像时,如何打开另一个页面
- 遍历SC.ManyArrray以创建要附加到SproutCore中的另一个视图的自定义视图
- ASP.NET angularjs重定向到控制器的另一个视图
- 如何在angularjs中调用局部视图所需的另一个javascript
- 通过jquery将网格视图数据发送到另一个页面
- 另一个 UI 视图中的角度 UI 视图
- 从Backbone中的另一个视图调用新视图
- 想要使用链接将数据发送到另一个视图
- Couchdb:是否可以从另一个视图中查询一个视图
- 如何在另一个视图中获取元素的引用id-UI5
- AngularJS+Ionic-将内容附加到另一个页面/视图
- 如何计算另一个元素上滚动速度的乘数,使它们同时到达终点(视图顶部)
- 另一个集合视图中的集合视图
- 列表视图添加另一个不需要的页面项目
- 将数据从一个主干视图传递到另一个
- 获取Backbone中另一个视图的id
- 将事件从一个视图触发到另一个视图
- 如何检测一个数据角色=“页面”中对特定列表视图项的单击,并在另一个数据上显示相应的数据
- 如何打开一个弹出对话框在网格视图(另一个弹出)的超链接点击