0
我創建的模型(RuleModel)和具有屬性,是其它模型(RuleInformationModel)。但是在傳遞json(SampleRule)數據時,內部模型沒有被填充。嵌套模型在主鏈中填充數據
當我做安慰IAM越來越不確定。所以我檢查了Cosole中的RuleInformationModel,其中只有樣本json的默認值不會被添加到此內部模型中。
var SampleRule = {
RuleId: 1,
Information: [{
RuleId:1,
RuleName: 'Diwali Offer',
MerhantId: '565cfa73-8f12-4876-b2cf-2e61a28eddca',
StartDate: '1/1/0001 12:00:00 AM',
EndDate: '1/1/0001 12:00:00 AM',
IsActive: 'True',
Description: 'Diwali Offer for Samsung products',
RuleSetId: 1 ,
Status:'False'
}],
Conditions: {},
Actions: {}
};
var RuleInformationModel = Backbone.Model.extend({
defaults: {
RuleId: '',
RuleName: '',
MerchantId: '',
StartDate: '',
EndDate: '',
IsActive: '',
Description: '',
RuleSetId: '',
Status: 'False'
},
idAttribute: "RuleId"
});
var RuleModel = Backbone.Model.extend({
initialize: function (options) {
this.RuleId = options.RuleId;
},
defaults: {
RuleId: '',
Information: new RuleInformationModel(),
Conditions: {},
Actions: {}
},
idAttribute: "RuleId",
urlRoot: function() {
return "../BackBoneApi/RuleEngine/" + this.RuleId
},
parse: function (response) {
response = SampleRule;
return response;
}
});
var NewOrEditRuleView = Backbone.View.extend({
tagName: 'div',
template: ItemTemplate,
initialize: function (options) {
var self = this;
self.model = new RuleModel({RuleId:options.RuleId});
this.model.fetch();
console.log(self.model.get('Information').get('RuleName'));
},
render: function (Purpose) {
var self = this;
var tmpl = _.template(self.template);
console.log(self.model);
self.$el.html(tmpl({ Purpose: Purpose, RuleName: self.model.get('Information').get('RuleName') }));
}
});