为`model`挂钩设置别名

时间:2019-03-19 11:50:48

标签: ember.js ember-data ember-cli

帮助

如果model中有一个app/routes/post.js钩子,请说

model() {
  return this.store.query('post');
}

template中,使用

访问返回的承诺
{{#each model as |post|}}
  ...
{{/each}}

是否可以为模型设置aliasroutecontroller这样的东西?

posts: alias('model')

因此我可以通过

访问模板中返回的promise
{{#each posts as |post|}}
  ...
{{/each}}

这是已经存在的东西还是烬文件遗漏的东西吗?

1 个答案:

答案 0 :(得分:4)

您可以在控制器中为模型属性创建alias

import Controller from '@ember/controller';
import { alias } from '@ember/object/computed';

export default Controller.extend({
  posts: alias('model')
})

或在您的setupController中使用route

export default Route.extend({
  setupController(controller, model) {
    controller.set('posts', model);
  },
});

参考:

alias api文档-alias computed property

为您的模型起别名-alias-model-rule