Ember.js 链接到特定对象id
我有一个用户列表和两个视图:一个表视图列出所有可用用户,一个详细视图查看特定用户的详细信息。现在,我想在我的导航菜单中提供一个指向一个特殊用户(“我”用户)的链接。我试过:Ember.js 链接到特定对象id,ember.js,Ember.js,我有一个用户列表和两个视图:一个表视图列出所有可用用户,一个详细视图查看特定用户的详细信息。现在,我想在我的导航菜单中提供一个指向一个特殊用户(“我”用户)的链接。我试过: {{#linkTo "user/me"}}Me{{/linkTo}} 恩伯说: Assertion failed: The attempt to linkTo route 'user/me' failed. The router did not find 'user/me' in its possible routes:
{{#linkTo "user/me"}}Me{{/linkTo}}
恩伯说:
Assertion failed: The attempt to linkTo route 'user/me' failed. The router did not find 'user/me' in its possible routes: 'users', 'user', 'index'
我也尝试过:
{{#linkTo "user" "me"}}Me{{/linkTo}}
但是ember正在链接到#/user/undefined
,我想要#/user/me
如何链接到特定的用户id
我有一个jsfiddle来展示我正在尝试做什么。您需要添加一个
UserRoute
,以这种方式对模型进行序列化
App.UserRoute = Ember.Route.extend({
serialize: function(model) {
return {user_id:model};
}
});
我刚才在这里使用了model
,您可以使用模型的一些属性,通常是id
使用linkTo
的方法是为其指定资源名称,独立于嵌套,并限定动态段
例如,post/1/comment/1。您的链接将是
链接到评论文章的“评论”
其中Post
和Comment
是模板可访问的绑定/变量,对应于Post-1和Comment-1
这是工作表
编辑:您需要在setupController
setupController: function(controller, model) {
App.User.find(model).then(function(result) {
controller.set('model', result);
});
}
更新
更新2将setupController添加到(直观像素)我创建了一个手动链接,没有使用linkTo
,这正是我想要的。这是最新的。使用这种方法,不需要乱弄路由
,原始链接也不会断开
我的导航栏中的代码现在是:
<nav>
{{#linkTo "users"}}Users{{/linkTo}}
{{#linkTo "user" "me"}}Me (bad!){{/linkTo}}
<a class="ember-view" href="#/user/me">Me (good!)</a>
</nav>
{{{#链接到“用户”}用户{{/linkTo}}
{{{#链接到“用户”“我”}我(坏!){{/linkTo}
这是生成的html:
<nav>
<a id="ember250" class="ember-view" href="#/users">Users</a>
<a id="ember253" class="ember-view" href="#/user/undefined">Me (bad!)</a>
<a class="ember-view" href="#/user/me">Me (good!)</a>
</nav>
这种方法的缺点是:
- 我必须使用
html
手动定义链接,这在linkTo
的集合中似乎很尴尬。也许我应该为此创建一个linkToId
handlebar助手
- 我必须手动跟踪路线:如果路线发生变化,我需要手动更新
href
。也许这可以通过访问路由器配置在linkToId
助手中处理
- 生成的链接没有
ember id
,我看不到解决方案。不知道这会有什么副作用
谢谢。JSFIDLE中的链接按预期生成(#/user/me
),但视图根本不显示数据。我在更新的JSFIDLE中没有看到setupController。出了什么问题?@gonvaled看到更新的答案,我添加了工作小提琴谢谢@inuitivepixel。但仍然存在一个问题:如果查看用户表中的链接,您会看到如下内容:../show/#/user/
,但它应该是../show/#/user/user1953
。这是一个关于余烬的东西,真的让我很恼火:你调整了应用程序的一小部分,突然整个东西都坏了。我的意思是:我只是想链接到一个特定的用户id,现在我必须对代码库进行完整的重构(