我正在移植一个旧应用程序以使用backbone.js(希望如此)
问题是系统中的各种对象都没有使用“id”作为 id -
每个对象都是不同的。通过阅读,我在初始化 Backbone.Model 时提出了以下解决方案。
initialize: function(){
this.idAttribute = 'user_ID';
this.set({'id':this.get('user_ID')});
}
然而,我担心随着我的骨干发展,这种方法会咬住我。
有人对这个有经验么。
非常感谢任何指点。
编辑:我刚刚在模型上调用了 isNew() 并得到了 true,即使 id 现在设置为 1。
/////////////////////////////////////////////////////////////////////////////
使用以下内容似乎可以解决这个问题。
User = Backbone.Model.extend({
idAttribute : 'user_ID'
})
当您使用 idAttribute 时,backbone 基本上保留id
属性与同步user_ID
财产。通常使用的方式是在定义类时
var UserModel = Backbone.Model.extend({
idAttribute: 'user_ID',
initialize: function() {
//do stuff
}
});
var me = new UserModel({user_ID: 1234, name: 'Tim'});
console.log(me.id); //1234
console.log(me.get('user_ID')); //1234
console.log(me.isNew()); //false
var me2 = new UserModel({name: 'newUser'});
console.log(me2.isNew()); //true
祝你好运
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)