Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬堂';不要超越模型挂钩_Ember.js_Ember Data - Fatal编程技术网

Ember.js 余烬堂';不要超越模型挂钩

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

根据文件:

如果使用的是余烬数据,则只需覆盖模型挂钩 如果需要返回与记录不同的模型 提供的ID

但这对我不起作用,余烬数据给了我错误的数据

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'),我的模型钩子现在每次都被调用