Ember Handlebars不会自动将模型放在范围内 [英] Ember Handlebars not automatically putting model in scope
问题描述
< h1> {{title }}< / H1>
Renders:
code>< h1>我的标题< / h1>
由于某种原因,它并没有为我使用特定的路由。我只是得到一个空的< h1>< / h1>
。但是,如果我手动将其放在范围内:
< h1> {{model.title}}< / h1>
然后它按预期工作。什么可能导致这种行为?我的路线是基本的:
MeetingsShowRoute = Ember.Route.extend
model:(params) - >
@ store.find('meeting',params.id)
`export default MeetingsShowRoute`
相关视图和控制器都为空。
您的控制器可能会扩展控制器类,当它应该是扩展对象控制器。
MeetingsShowController = Ember.ObjectController.extend ...
$ p $经验法则:
无模型支持的控制器
FooControler = Ember.Controller.extend
单模型支持控制器
FooControler = Ember.ObjectController.extend
集合模型支持控制器
FooControler = Ember.ArrayController.extend
Typically, Ember automatically puts the route's model in scope when rendering a handlebars template:
<h1>{{ title }}</h1>
Renders:
<h1>My Title</h1>
For some reason, it's not doing that for me with a particular route. I'm just getting an empty
<h1></h1>
. However, if I manually put it into scope:<h1>{{ model.title }}</h1>
Then it works as expected. What might be causing this behavior? My route is basic:
MeetingsShowRoute = Ember.Route.extend model: (params) -> @store.find('meeting', params.id) `export default MeetingsShowRoute`
And both the relevant view and controller is empty.
解决方案Your controller is probably extending the controller class, when it should be extending object controller.
MeetingsShowController = Ember.ObjectController.extend ...
Rule of thumb:
No Model backed controller
FooControler = Ember.Controller.extend
Single Model backed controller
FooControler = Ember.ObjectController.extend
Collection Model backed controller
FooControler = Ember.ArrayController.extend
这篇关于Ember Handlebars不会自动将模型放在范围内的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!