Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在EmberJS中是否有方法将数组传递给currentWhen?_Ember.js - Fatal编程技术网

Ember.js 在EmberJS中是否有方法将数组传递给currentWhen?

Ember.js 在EmberJS中是否有方法将数组传递给currentWhen?,ember.js,Ember.js,我正在尝试使链接在多个路由上保持“活动”,例如/#/users和/#/user 有什么想法吗?这是一个完全的黑客程序,但它在Ember 1.0.0中有效。要在用户路由处于活动状态时使指向用户的链接保持活动状态,请执行以下操作: App.UserRoute = Ember.Route.extend({ activate: function() { setTimeout(function() { $('[href="#/users"]').addCl

我正在尝试使链接在多个路由上保持“活动”,例如/#/users和/#/user


有什么想法吗?

这是一个完全的黑客程序,但它在Ember 1.0.0中有效。要在用户路由处于活动状态时使指向用户的链接保持活动状态,请执行以下操作:

App.UserRoute = Ember.Route.extend({

    activate: function() {
        setTimeout(function() {
            $('[href="#/users"]').addClass("active");
        }, 0);
    }
});

您可以重新打开Ember的LinkView并执行类似操作(允许currentWhen包含空格分隔的值)

Ember.LinkView.reopen({
活动:函数(){
//当指定多个路由时,我们允许链接到的Current
//所以我们需要检查每一个
var loadedParams=Ember.get(这是“loadedParams”);
var currentWhen=this['current-when']| | this.currentWhen;
currentWhen=currentWhen | |(loadedParams&&loadedParams.targetRouteName);
if(currentWhen&¤tWhen.indexOf(“”)>=0){
无功电流=电流分裂时的电流(“”);
router=Ember.get(这是“路由器”);
对于(var i=0;i
从Ember 1.8开始,当使用空格分隔的路线时,您可以将其设置为当前!应在何处使用Ember应用程序套件定义此项?
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')
});