Bri*_*unt 3 javascript backbone.js
Backbone.js如果(并且仅当)数据发生了变化,我正试图在有"更改"事件的情况下获取一个View in 来保存.
长话短说,我在View上设置了一个'更改'事件,调用它:
function changed_event() {
log.debug("Before: " + this.model.get('name')) // not 'contrived!'
this.model.set({'name': 'contrived!'});
log.debug("After: " + this.model.get('name')) // 'contrived!'
if (this.model.hasChanged()) {
alert("This is never called.");
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么model.hasChanged()是false当明确了模式已经改变.
我不确定其他信息是否必要,但如果有更多可能有用的信息,请发表评论,我会详细说明.
谢谢你的阅读.
Bar*_*art 10
通过调用model.set,您将触发更改事件..hasChanged()如果自上次更改事件以来模型已更改,则返回true .所以它将返回false,因为自更改事件以来没有任何更改.要获得所需的行为,请.set使用以下silent选项进行调用:this.model.set({'name': 'contrived!'}, {silent: true})
| 归档时间: |
|
| 查看次数: |
1795 次 |
| 最近记录: |