나는 navid와 subnavid를 모두 가진 모델을 가지고 있습니다. 모델을 파괴하는 동안 navid와 동일한 navid를 가진 다른 모델의 경우 전체 컬렉션을 검사해야합니다. 모델의 하위 파티가 삭제하려고합니다. 제발 도와주세요. 미리 감사드립니다. 다음은 샘플 코드입니다.backbone.js의 같은 컬렉션에서 종속 모델을 삭제하는 방법
모델 :
VAR 노드 = Backbone.Model.extend ({ 기본값 : { 인 Navid '', SubNavId : '.' 항목 이름 : '' }}
컬렉션 :
var에 NodeCollection = Backbone.Collection.extend ({모델 : 노드}
그리고 내가 컬렉션의 노드 (내가 그럴 건물입니다)과 다른 두 가지보기 중 하나를 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;
} });
(I 테이블을 구축해야합니다)
나는 테이블을 제대로 만들 수 있지만 모델을 파괴하는 동안 종속 모델을 파괴 할 방법을 찾지 못했습니다. 내 API는 중첩 된 json을 얻을 수없는 방식으로 제한됩니다 (그렇다면 백본 관계로 완료). 그래서 모델의 NavId가있는 다른 모델과 뷰가 삭제되는 어떤 방법을 찾아야합니다.
도와주세요.
안녕 Fencliff 스피 새로운? –
@ArunKumar, 한번보세요. 짧은 시간 내에 할 수 있다면 그렇게 할 것입니다. – jevakallio
http://jsfiddle.net/eAut2/ 미안 해요. 확인해주세요. –