gpt4 book ai didi

javascript - 如何将模型(数据)从 Backbone 中的一个 View 传递到另一个 View 并编辑/删除它?

转载 作者:行者123 更新时间:2023-11-28 09:26:09 24 4
gpt4 key购买 nike

我有一个使用 BackboneJS 的 Web 应用程序。在此应用程序中,我有一个 LayoutView.js 文件,其中有一个 Backbone View(称为 LayoutView)。 LayoutView 还有其他调用其他 View 的函数(方法)。我正在 LayoutView 的初始化函数中获取一些数据,并且我需要在另一个 View 中获取相同的数据(模型)并对其进行工作(更新/删除)。下面是我如何将数据从 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 的数据,并且更新应反射(reflect)在向用户显示的 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 View 的语法是 new View(options),其中 options 是一个带有键值对的 Object

要将集合传递到您的 View ,您可以像这样实例化它:

new MyLayout({
collection : this.configData
});

在您的 View 中,this.collection 将引用您的 configData 集合。

关于javascript - 如何将模型(数据)从 Backbone 中的一个 View 传递到另一个 View 并编辑/删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com