如果该记录的任何属性值发生变化,如何将记录上的updatedAt字段的值设置为当前时间?
我看到DS.Model
有一个didUpdate
事件(http://emberjs.com/api/data/classes/DS.Model.html#event_didUpdate) - 也许我应该在此添加一个观察者(但是在我收听事件的文档中没有例子可以找到)。或者模型上的某种计算属性可能会起作用吗?
答案 0 :(得分:1)
您可以像这样观察didUpdate事件:
// in controller with model, that extends Ember.Model class
this.get('model').on('didUpdate', functuion() {
// set time value to updatedAt property
});
在不再需要时,不要忘记删除观察者。
P.S。我非常确定这种模型的属性(createdAt,updatedAt等)必须具有客户端的只读状态。在这种情况下,必须在服务器端将updatedAt属性设置为正确值,然后返回到客户端(使用其他属性,如ember期望)。
P.P.S。如果你需要将这个观察者封装在模型的代码中,你可以这样做:
init: function() {
this._super.apply(this, arguments);
this.on('didUpdate', function() {
// logic
});
}