我有一个从mirage
获取posts
数据的路由,如下所示:
import Route from '@ember/routing/route';
export default class PostsRoute extends Route {
async model() {
return this.store.findAll('post');
}
}
我就可以这样做了
{{#each @model as |post idx|}}
..do stuff
{{/each}}
但是,假设我想将@model
重命名为foo
,并在其他组件中使用它,该如何操作呢?
1条答案
按热度按时间qxgroojn1#
第一个
@model
是一个“魔术字符串”,总是引用this.model
。您可以做的是在Controller
上定义一个getter:然后,您可以在模板中将其用作
{{this.foo}}
。将
@model
引用为路由模板中的其他内容的另一种方法是使用{{#let
:将数据传递给组件时,始终可以重命名该组件:
然后使用
{{@foo}}
* 内部 *components/my-component.hbs
。