有没有办法在 EmberJS 中将数组传递给 currentWhen? [英] Is there a way to pass an array to currentWhen in EmberJS?
本文介绍了有没有办法在 EmberJS 中将数组传递给 currentWhen?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使链接在多个路由上保持活动"状态,例如/#/users 和/#/user.
I'm trying to make a link stay 'active' on multiple routes, such as /#/users and /#/user.
有什么想法吗?
推荐答案
您可以重新打开 Ember 的 LinkView 并执行类似操作(允许 currentWhen 包含空格分隔值)
You can reopen Ember's LinkView and do something like this (allows currentWhen to contain space delimited values)
Ember.LinkView.reopen({
active: function() {
// we allow link-to's currentWhen to specify multiple routes
// so we need to check each one of them
var loadedParams = Ember.get(this, 'loadedParams');
var currentWhen = this['current-when'] || this.currentWhen;
currentWhen = currentWhen || (loadedParams && loadedParams.targetRouteName);
if (currentWhen && currentWhen.indexOf(' ') >= 0) {
var currents = currentWhen.split(' ');
router = Ember.get(this, 'router');
for (var i = 0; i < currents.length; i++) {
var isActive = router.isActive.apply(router, [currents[i]]);
if (isActive)
return isActive;
}
return false;
}
return this._super();
}.property('resolvedParams', 'routerArgs')
});
这篇关于有没有办法在 EmberJS 中将数组传递给 currentWhen?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文