Ember.js 余烬主动链接

Ember.js 余烬主动链接,ember.js,Ember.js,我有一个路由,我想使一个兄弟路由的链接到的活动。我曾尝试在链接中使用current,但它对我无效 我的路线如下 //projects //projects/:project_id //projects/:project_id/user/:user_id 当我导航到//projects/:project_id route时,右侧链接设置为活动。我希望相同的链接在//projects/:project\u id/users/:user\u id路由上处于活动状态 我在父//项目hbs模板中指向的链

我有一个路由,我想使一个兄弟路由的链接到的活动。我曾尝试在链接中使用current,但它对我无效

我的路线如下

//projects
//projects/:project_id
//projects/:project_id/user/:user_id
当我导航到//projects/:project_id route时,右侧链接设置为活动。我希望相同的链接在//projects/:project\u id/users/:user\u id路由上处于活动状态

我在父//项目hbs模板中指向的链接为

{{#link-to "projects.project" item.projectID current-when="projects.user" tagName="tr"}}
我做错了什么

更新

当使用@ykaragol的helper函数的编辑版本并链接到…渲染路线时,我能够让它开始工作

{{#link-to "projects.project" item.projectName active=(calculate-active 'projects.user projects.project' item.projectName) tagName="tr"}}


compute(params, hash){
var pathname = window.location.pathname.split('/');
var pathProj = pathname[2];
var currRoute = this.get('currentRouteName');
var routes = params[0].split(' ');
if( ($.inArray( currRoute, routes) > -1) && (pathProj == params[1]) ){
  return true;
}
return false;
}

但当我点击另一个项目时,它不会更新

如果管线没有动态段,则其工作原理如中所述。我已经测试过了

但使用动态分段时,我无法使其工作。请查收。我怀疑这可能是个错误。你可以用英语问这个问题

顺便说一下,作为一种解决方法,您可以将布尔值传递给
currentWhen
属性(如中所述)。因此,您可以编写一个helper或computed属性来使用正则表达式计算它

更新:


作为第二种解决方法,您可以自己处理
链接到
活动
属性。试试看

如果管线没有动态段,则其工作原理如中所述。我已经测试过了

但使用动态分段时,我无法使其工作。请查收。我怀疑这可能是个错误。你可以用英语问这个问题

顺便说一下,作为一种解决方法,您可以将布尔值传递给
currentWhen
属性(如中所述)。因此,您可以编写一个helper或computed属性来使用正则表达式计算它

更新:


作为第二种解决方法,您可以自己处理
链接到
活动
属性。试试看

这是一个很好的解决方案,但是有一个现有的bug,当我还尝试在//projects/:project\u id/user/:user\u id路由上使用didtransformation操作钩子手动(通过jquery)将活动类添加到div中时,它不允许我在当前中使用布尔值,但它也不起作用。因此这让我更接近了,但在用户页面上,所有项目链接都被设置为活动。考虑到我在URL中有两个动态部分,你能更新Twiddle以显示我将如何合并它吗?在帮助程序中,observer当前侦听
currentRouteName
,将其切换到
routing.currentState
。你可以使用
-routing
服务,而不是从地址栏解析它。类似于
this.get('routing.currentState.routerJsState.params.projects.project\u id')
这是一个很好的解决方案,但是存在一个bug,当我还尝试在//projects/:project\u id/user/:user\u id路由上使用didtransformation操作钩子手动执行时,它不允许我在当前中使用布尔值(通过jquery)将活动类添加到div中,但它也不起作用。因此,这让我更接近了,但在用户页面上,所有项目链接都设置为活动。鉴于URL中有两个动态部分,您能否更新Twiddle以显示如何将其合并?在帮助程序中,observer当前正在收听
currentRouteName
,switc将其添加到
路由.currentState
。您可以使用
-routing
服务,而不是从地址栏解析它。类似于
的this.get('routing.currentState.routerJsState.params.projects.project\u id')