У меня есть веб-приложение, использующее BackboneJS. В этом приложении у меня есть файл 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 "< em>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...
}
});
Теперь данные, которые я передал, находятся в attrs в функции initialize. Как это сделать..?