Javascript 从未调用Ember控制器模型挂钩
使用Javascript 从未调用Ember控制器模型挂钩,javascript,ember.js,Javascript,Ember.js,使用{{render“modelHandler”model}时,不会调用相应控制器的model函数 此处转载: 我90%肯定这是一个错误。在我发布到github之前,我会在这里发布这篇文章,以防有明显的遗漏或“我做错了”。在任何一种情况下,如果您能为我指出正确的方向 用例(为什么我首先需要它) 我使用{render}来包含AddressAdd模板,为此我需要扩展模型以包含状态列表和默认状态。虽然我可以将状态加载到父模型(比如属性或联系人卡),但由于许多视图都包含AddressAdd,我希望避免每
{{render“modelHandler”model}
时,不会调用相应控制器的model
函数
此处转载:
我90%肯定这是一个错误。在我发布到github之前,我会在这里发布这篇文章,以防有明显的遗漏或“我做错了”。在任何一种情况下,如果您能为我指出正确的方向
用例(为什么我首先需要它)
我使用{render}来包含AddressAdd模板,为此我需要扩展模型以包含状态列表和默认状态。虽然我可以将状态加载到父模型(比如属性或联系人卡),但由于许多视图都包含AddressAdd,我希望避免每次都手动添加下拉列表的信息
因此,如果您碰巧知道除了{{render}和控制器的模型挂钩之外,还有更好的实现方法,请告诉我 这不是一个bug,模型钩子只有在您访问与该路由相关联的url时才会触发,并且它位于路由上,而不是控制器上。此外,如果控制器上有模型,则它应该是ObjectController(除非它是数组,否则它就是ArrayController) 调用render时,表示要使用特定上下文渲染特定模板
我会在您所在的路由下面创建一个路由,并使用一个链接,指向没有模型的路由,这将导致应用程序模板中的模型挂钩触发。
{{ render 'foo' bar }}
应用程序控制器中不应该有一个bar
属性吗
App.ApplicationController = Ember.Controller.extend({
bar: {isBar: 'yup'}
});
结果证明,这是一个深夜工作的案例,忘记了模型挂钩在路线上,而不是控制器。谢谢你!