我注意到当我在路线forums.archives
时,我使用{{#link-to 'forums'}}Forums{{/link-to}}
定义的链接设置为活动类。
Router.map(function () {
this.route('forums', function () {
this.route('new');
this.route('archives');
});
});
导航:
{{#link-to 'forums'}}Forums{{/link-to}}
{{#link-to 'forums.archives'}}Forum archives{{/link-to}}
他们都得到了活跃的课程。
如果链接上的活动类与网址100%不匹配,是否可以删除活动类?
由于
答案 0 :(得分:0)
所以你有一个嵌套的route
,说实话,我不知道它是如何工作的。来自Ember团队的一句话就是它与嵌套资源的工作原理相同,但是有很多细微之处(比如这个)并没有多大意义。所以这就是我要做的事情(可能不是你应该做什么)。假设您的导航位于application
模板中:
App.ApplicationController = Ember.ObjectController.extend({
isForumsActive: function() {
return (this.get('currentRouteName') === 'forums');
}.property('currentRouteName')
});
然后,在您的模板中:
{{#link-to 'forums' active=isForumsActive}}Forums{{/link-to}}
{{#link-to 'forums.archives'}}Forum archives{{/link-to}}
您可能还想更改路线的方式,以便嵌套更清洁:
Router.map(function () {
this.resource('forums', function () {
// this.route('index'); -- implicitly defined
this.route('new');
this.route('archives');
});
});
然后,您的link-to
可能会指向forums.index
。