如何链接到Ember.js中的特定动态细分网址?

时间:2013-08-13 22:03:48

标签: ember.js

我的路线有动态线段:

this.resource('dog', {path: '/dog/:pet_id'});

出于调试目的,我想linkTo使用特定动态段'666'。但

{{#linkTo 'dog' '666'}}Click to go to dog{{/linkTo}}

给我“未定义”而不是“666”。你知道为什么吗?

it running on jsbin。 请参阅code on jsbin

2 个答案:

答案 0 :(得分:1)

你工作的jsbin:http://jsbin.com/iwiruw/346/edit

linkTo助手不接受字符串作为参数,而是接受路由器映射中定义的动态段的模型。如果您手边没有模型,请将参数输出,您需要做的只是挂钩serialize DogRoute功能(如果您没有定义只是定义它来指示ember使用你的而不是自动定义的并返回一个包含你的路线所期望的动态段的对象/哈希,这可能是你想要的任何东西:

App.DogRoute = Ember.Route.extend({
  serialize: function(model) {
    return {pet_id: 666};
  }
});

希望它有所帮助。

答案 1 :(得分:1)

我通过删除未使用的位并切换到夹具适配器来清理代码。这是一个不需要serialize方法的工作版本:http://jsbin.com/iwiruw/347

最终,除了使用更新版本的Ember并正确设置实际的模型类和数据之外,基本代码中不需要更改任何内容。