我有一条具有动态段的路线:
this.resource('dog', {path: '/dog/:pet_id'});
出于调试目的,我想linkTo
使用“666”的特定动态段。但
{{#linkTo 'dog' '666'}}Click to go to dog{{/linkTo}}
给我“未定义”而不是“666”。你知道为什么吗?
看到它在 jsbin 上运行。请参阅jsbin 上的代码。
我有一条具有动态段的路线:
this.resource('dog', {path: '/dog/:pet_id'});
出于调试目的,我想linkTo
使用“666”的特定动态段。但
{{#linkTo 'dog' '666'}}Click to go to dog{{/linkTo}}
给我“未定义”而不是“666”。你知道为什么吗?
看到它在 jsbin 上运行。请参阅jsbin 上的代码。
我通过删除未使用的位并切换到夹具适配器来稍微清理代码。这是一个不需要serialize
方法的工作版本:http: //jsbin.com/iwiruw/347
最终,除了使用较新版本的 Ember 并正确设置实际的模型类和数据之外,无需更改基本代码。
您的工作 jsbin:http: //jsbin.com/iwiruw/346/edit
帮助器linkTo
不接受字符串作为参数,而是从模型中获取路由器映射中定义的动态段。如果您手头没有模型,请忽略参数,您需要做的就是挂钩您的serialize
功能DogRoute
(如果您没有定义,只需定义它以指示 ember 使用您的而不是自动定义)并返回一个包含您的路线期望的动态段的对象/散列,这可以是您想要的任何东西:
App.DogRoute = Ember.Route.extend({
serialize: function(model) {
return {pet_id: 666};
}
});
希望能帮助到你。