我想更新从另一个视图传递的现有模型的等级属性。但是,我收到错误Uncaught TypeError: Object # has no method 'set'。
在视图的初始化部分,我有:
this.collection = new tgcollection({model : this.options.model });
我定义了一个函数updateModel旨在将属性值更新为:
updateModel: function(){
var val= $("#textbox_id").val();
console.log(val);
console.log(JSON.stringify(this.options.model));
JSON.stringify(this.options.model);
this.options.model.set({"rank": val});
this.render();
//
},
我哪里错了?我可以在控制台中看到值和模型及其先前的属性值。
该模型:
define(['jquery','underscore', 'backbone', 'deepmodel'],
function($,_, Backbone) {
var model = Backbone.DeepModel.extend({
// Default attributes for the model.
defaults : {
id: null,
rank: null,
},
initialize: function(){
_.bindAll(this,"update");
this.bind('change : cost', this.update);
},
update: function(){
console.log(this.get("cost"));
},
// Remove this model from *localStorage*.
clear : function() {
this.destroy();
},
});
return model;
});