mat*_*aso 2 javascript backbone.js
奇怪的是我注意到模型先前的方法没有像我想象的那样工作..它保持返回与get相同的值.我认为我的代码或backbone.js在触发更改事件时不会升级this._previousAttributes.
model = new Backbone.Model()
model.set({attr1: 123})
alert(model.previous("attr1")) //alert 123 instead of undefined
alert(model.get("attr1"))
model.set({attr1: 312})
alert(model.previous("attr1")) //alert 321 instead of 123
alert(model.get("attr1"))
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
该previous方法仅在"change"事件发生时有用:
以前
model.previous(attribute)在
"change"事件期间,此方法可用于获取已更改属性的先前值.
该previous方法仅在"change"事件处理程序中有用; 类似的事情适用于hasChanged,changedAttributes和previousAttributes.
previous当你不在事件处理程序中时,你试图使用,所以你得到废话.如果您想知道模型中的更改,并且您需要在"change"事件处理程序之外了解,那么您必须自己跟踪它.
| 归档时间: |
|
| 查看次数: |
3871 次 |
| 最近记录: |