我正在使用EmberJS和Ember Data(修订版11),并且当交易成功完成时我正试图转换到另一条路线。问题是此页面允许对模型进行编辑,以及向该模型上的hasMany集合添加和删除项目。
我目前的情况如下:
myModel.one "didUpdate", this, ->
@transitionTo "anotherRoute", myModel
myModel.transaction.commit()
如果myModel已被更改,那么只有在其中任何一个已经更改的情况下才会转换。
我正在寻找一种方法:
答案 0 :(得分:3)
我也遇到过这个问题。我目前的解决方案是观察交易状态:
observer = (target, path) =>
if target.get(path) is 'saved'
target.removeObserver path, null, observer
@doSomething()
@get('content').addObserver 'stateManager.currentState.name', null, observer
@get('content.transaction').commit()
didUpdate不起作用的事实可能是一个错误。如果我直接在模型上定义回调,它就会被调用。