使用{{render "modelHandler" model}}
时,永远不会调用相应控制器的model
函数。
转载于此:http://jsbin.com/EVoXAceP/3/edit
我90%确信这是一个错误。我在将其发布到github之前将其发布在这里,以防万一我遗漏了一些明显的内容或“我做错了”。无论哪种情况,如果您能向我指出正确的方向。
用例(为什么我首先需要使用它)。
我正在使用{{render}}包含一个AddressAdd模板,为此我需要扩展模型以包括状态列表以及默认状态。尽管我可以将状态加载到父模型(例如,属性或联系卡)上,但是由于许多视图都包含AddressAdd,因此我希望避免每次都必须手动为下拉列表添加信息。
因此,如果您除了{{render}}和控制器的模型钩子之外还碰巧知道一种更好的实现方法,请告诉我!
最佳答案
这不是错误,仅当您访问与该路由关联的url时才会触发模型挂钩,并且该挂钩位于该路由上,而不在控制器上。另外,如果您的控制器上有一个模型,则它应该是一个ObjectController(除非它是一个数组,否则它是一个ArrayController)。
http://jsbin.com/EVoXAceP/13/edit
当您调用render时,是说您要使用特定的上下文来呈现特定的模板。
我会在您所在的路线下创建一条路线,并使用没有模型的链接到它,这将导致模型钩子触发。
关于javascript - 从未调用的Ember Controller Model Hook ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20208166/