在backbone.js中设置Model的属性值

时间:2012-06-12 14:15:38

标签: javascript jquery backbone.js

我正在通过教程学习backbone.js。我尝试了一些代码,看起来很奇怪。我首先初始化了srcthesource.jpg的模型实例,对模型实例执行了console.log,然后将src属性设置为aaa,后跟{ {1}}。

在javascript控制台中,我看到对于两个输出,console.log是相同的src。他们不应该不同吗?

JS代码

aaa

控制台输出

enter image description here

2 个答案:

答案 0 :(得分:1)

在Google Chrome中记录对象时,在控制台中展开其属性时会检索其状态,而不是在记录它们时。

您可以尝试记录克隆:

console.log(JSON.parse(JSON.stringify(myPhoto.attributes)));
myPhoto.set({src:'aaaa'});
console.log(JSON.parse(JSON.stringify(myPhoto.attributes)));

答案 1 :(得分:1)

上面的答案有效,但我只想指出Backbone的功能已基本完成。您可以使用toJSON来克隆所有属性并返回一个对象。

console.log(myPhoto.toJSON());
myPhoto.set({src: 'aaaa'});
console.log(myPhoto.toJSON());

这将显示一个浅的副本,因此它不完全相同,但输入的次数较少,并且在您正在寻找的情况下仍可使用。

相关问题