我正在尝试做类似的事情:
{{#if model.user.isAdmin}}
<div>
My name is {{model.user.name}}
</div>
{{/if}}
来自与用户无关的控制器的车把内部:
<script type="text/x-handlebars" data-template-name="events/new">
我该怎么做?如何使用/显示其他模型的值?
答案 0 :(得分:1)
这可以通过多种方式完成。
如果您的新活动路线是例如用户路线(嵌套在您的路由器中)的子路线,您可以这样做:
// events/new controller
Ember.Controller.extend({
needs: ['user'] // a reference to the user controller
});
// events/new template
{{ controllers.user.model.name }}
如果它不是子路由,您可以通过调用商店来访问用户模型:
// events/new route
Ember.Route.extend({
// use the user model as your model
model: function() {
// load a user by its id, or remove the id to load all users
return this.store.find('user',1);
}
});
// events/new template
{{ model.name }}
或者您可以在events/new
路线中使用多个模型:
// events/new route
Ember.Route.extend({
// return multiple models
model: function() {
return Ember.RSVP.hash({
event: this.store.createRecord('event', {
// add event properties here if needed
}),
user: this.store.find('user',1),
...
});
}
});
// events/new template
{{ model.user.name }}
如您所见,这取决于您的路线与应用结构的关系。