无法在`afterModel`中更新模型

时间:2018-01-04 04:20:49

标签: ember.js

在现有模型中,我试图在JSON Structure钩子中添加一些值。但我根本没有在模型中找到。怎么做?

这是我的尝试:

afterModel

1 个答案:

答案 0 :(得分:2)

路由模型钩子返回的model对象通常是原始对象,.get().set()会抛出错误。正如评论中所提到的,安全选项是使用Ember.get()Ember.set(),因为它们将同时支持基本对象和Ember对象。

/* Ember.get(model, key) provides a safe fallback if .get() is not available */
console.log(Ember.get(model, 'transactions'));

/* model.get(key) will throw an error */
console.log(model.get('transactions'));

此外,使用Ember.assign(model, { transactions, ...otherObjects })可以帮助简化afterModelsetupController挂钩中的模型修改。

这是一个粗略的EmberTwiddle来说明:Modifying the Model in the AfterModel Hook