我有一个如此定义的路线:
Router.map(function() {
this.route('games', function() {
this.route('game', {path: '/:game_id'}, function() {});
});
});
Run Code Online (Sandbox Code Playgroud)
当我访问路径时,/games/1我必须访问模型数据,如下所示:
{{model.title}}
Run Code Online (Sandbox Code Playgroud)
阅读文档,似乎控制器会在没有模型前缀的情况下使模型数据可用,所以我认为我能够做到这一点:
{{title}}
Run Code Online (Sandbox Code Playgroud)
但没有它就行不通model.我不是在创建控制器,因为我不需要为这个特定的路由/模板扩展它.通过model前缀准确访问模型数据?或者我可能做错了什么?
您所指的文档是旧的,在过去(1.13之前的版本),控制器有一个模型代理,如果在控制器上找不到它们,它将在模型上查找属性.
这已不再可用,因为它引起了社区的混乱.
在新版本的文档不再引用{{title}}没有model.
如果你真的想在没有model前缀的情况下使用它,你可以使用Ember.computed.alias,但我建议坚持使用,model.因为它更容易阅读并识别为模型属性与控制器属性,特别是因为可路由组件设置为替换控制器在不久的将来(~2.6).
| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |