У меня есть модель, в которой есть как navid, так и subnavid. При уничтожении модели мне нужно проверить всю коллекцию, для других моделей, у которых navid такой же, как и subnavid модели, которую я пытаюсь удалить. Пожалуйста, помогите мне. Заранее спасибо . Вот мой пример кода.
Модель:
var Node = Backbone.Model.extend({ по умолчанию: {NavId: '', SubNavId: ''. ItemName:'' } }
Коллекция:
var NodeCollection = Backbone.Collection.extend({ model:Node }
И у меня есть два вида: один для узла (я создаю tr), а другой для коллекции (мне нужно построить таблицу) var NodeCollectionView = Backbone.View.extend({
initialize: function (options) { var self = this; self.collection = new NodeCollection({ NavigationId: options.NavigationId }); self.collection.fetch({ success: function () { /*I am getting hte proper collection from my restful api and iam able to bind it properly self.render(); } }); }, render: function () { var that = this; _.each(this.collection.models, function (item) { that.RenderEachNode(item); }, this); }, RenderEachNode: function (item) { var TempJsonNode = item.toJSON(); var self = this; var nodeView = new NodeView({ tagName: 'tr', id: 'NavId_' + TempJsonNode.NavItemId, model: item }); } });
var ItemTemplate = ""; ItemTemplate += " <td>"; ItemTemplate += " <a><%= ItemName %></a>"; ItemTemplate +=" </td>"; ItemTemplate
+=" <td>"; ItemTemplate +=" <a href='#' original-title='Delete ' class='tip_north Delete'>X</a>"; ItemTemplate +=" </td> ";
var NavigationItemView = Backbone.View.extend({
template: ItemTemplate,
render: function () {
var self = this;
var tmpl = _.template(this.template);
this.$el.html(tmpl(this.model.toJSON()));
return this;
},
events: {
"click .Delete": "DeleteBtnClick"
},
DeleteBtnClick: function () {
var self = this;
self.model.destroy({
success: function (status, data) {
var RetData = JSON.parse(data);
if (RetData.Status == 'Success') {
$(self.el).remove()
}
},
error: function () {
alert('Error In Deleting The Record');
}
});
return false;
} });
Я могу правильно построить таблицу, но при уничтожении модели я не нахожу способ уничтожить зависимые модели. Мой API ограничен таким образом, что я не могу получить вложенный json (если бы это было так, я бы сделал с магистральное отношение). поэтому мне нужно каким-то образом выяснить, что другие модели и представления, которые имеют NavId модели, удаляются.
Пожалуйста, помогите мне.