Ember.js 余烬堂';不要超越模型挂钩
根据文件: 如果使用的是余烬数据,则只需覆盖模型挂钩 如果需要返回与记录不同的模型 提供的ID 但这对我不起作用,余烬数据给了我错误的数据Ember.js 余烬堂';不要超越模型挂钩,ember.js,ember-data,Ember.js,Ember Data,根据文件: 如果使用的是余烬数据,则只需覆盖模型挂钩 如果需要返回与记录不同的模型 提供的ID 但这对我不起作用,余烬数据给了我错误的数据 App.UsersEditRoute = Ember.Route.extend model: (params) -> return ['Just', 'Some', 'Random'] setupController: (controller, model) -> controlle
App.UsersEditRoute = Ember.Route.extend
model: (params) ->
return ['Just', 'Some', 'Random']
setupController: (controller, model) ->
controller.set('model', model) # Returns @get('store').find 'user', params.user_id
这应该返回['Just','Some',Random],但它会给我原始的@get('store')。find'user',params.user_id
为什么以及如何获得所需的数据?
顺便说一句,如果我确实喜欢下面的内容,那么一切都正常,但我想知道为什么我的模型函数从未被调用
setupController: (controller, model) ->
controller.set('model', ['Just', 'Some', 'Random']) # returns ['Just', 'Some', 'Random']
谢谢,我使用的是ember data 0.14和ember 1.0.0对于带有动态段的路由,仅当页面(重新)加载时才会调用模型挂钩,如下所示(最后的注释): 注意:带有动态段的路由只有在通过URL输入时才会调用其模型挂钩。如果路线是通过转换输入的(例如,使用“链接到把手”辅助对象时),则已提供模型上下文,并且不会执行挂钩。没有动态线段的管线将始终执行模型挂钩
当我想要覆盖模型钩子时,我遇到了类似的问题。西蒙的回答给了我正确的方向。此外,还应注意的是,从《灰烬指南》中,但在该节中,{{{link to}}}帮助器采用: 每个动态段最多一个模型。默认情况下,Ember.js将 用相应对象id的值替换每个段 财产。如果没有要传递给帮助器的模型,则可以提供 而是显式标识符值。该值将填充到 路线的动态段,并将确保模型 钩子被触发 所以底线是,通过将{{link to}}helper(在我的例子中是'product')中的模型替换为对象id(在我的例子中是'product.id'),我的模型钩子现在每次都被调用