为 `model` 钩子设置别名

set alias for `model` hook

帮助

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

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

template 中使用

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

有什么方法可以为模型设置alias吗? routecontroller?

中的类似内容

posts: alias('model')

所以我可以访问模板中返回的承诺

{{#each posts as |post|}}
  ...
{{/each}}

这是已经存在的东西还是 ember 文档中遗漏的东西?

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

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

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

或在 route

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

参考:

别名 api 文档 - alias computed property

别名你的模型 - alias-model-rule