angular.js ... $ scope函数在不同的位置返回相同的结果

时间:2014-11-03 22:13:37

标签: javascript html css angularjs scope

当我在不同的位置上使用我的$ scope函数时,它会返回相同的结果。

使用Javascript:

$scope.isActive = function(d) {
    var res = false;

    if(typeof d.route !== 'undefined') {
        res = d.route === $location.path();
    } else if(typeof d.path !== 'undefined') {
        var regexp = new RegExp('^' + d.path.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + '.*', 'g');
        res = $location.path().match(regexp);
    }

    return res;
};

HTML的来源:

<li class="dropdown" ng-class="{active: isActive({path: '/setup'})}">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
        <i class="fa fa-wrench fa-3x"></i><br/>
        Einstellungen <b class="caret"></b></a>
    <ul class="dropdown-menu">
        <li ng-class="{active: isActive({route: '/setup/systemkonfiguration'})}">
            <a href="#/setup/systemkonfiguration">
                <i class="fa fa-fw fa-hand-o-up fa-lg"></i> 
                    Aktuelle Systemkonfiguration</a>
        </li>
        <li class="divider"></li>
        <li role="presentation" class="dropdown-header">Stammdaten</li>
        <li ng-class="{active: isActive({route: '/setup/werkzeuge'})}">
            <a href="#/setup/werkzeuge">
                <i class="fa fa-fw fa-sitemap fa-lg"></i> 
                    Werkzeuge</a>
        </li>

问题是, isActive 功能完全返回TRUE! “Einstellungen”下的所有项目都会获得活跃的课程。

但是,为什么?

0 个答案:

没有答案