' NG-如果' - 多个条件不在模板上工作

时间:2015-07-01 18:40:56

标签: angularjs angular-directive

我有3种模板。我$index有条件地申请模板。

这是我的指令html:

<all-apps-gallery index="$index" app="app" update="update(app)" class="show" ng-repeat="app in allAppsBatch"></all-apps-gallery>

这是指令:

var allAppsGallery = function ($compile, $animate) {

    return {

        restrict : 'E',

        replace : true,

        templateUrl : '/views/tools/gallery.html', // see below the html

        scope : {
            index : "=",
            update : "&",
            app : "="
        }

        }

    }

}

angular
    .module("tcpApp")
    .directive('allAppsGallery', allAppsGallery);

我的`templateUrl&#39;&#39; html:

<div>

    <div ng-class="bgr box{{index}}" ng-click="update(app)" ng-if="{{index}} == 0 || {{index}} == 13 || {{index}} == 14 || {{index}} == 15 || {{index}} == 5 ">
    <h2>{{app.completion}} % {{index}}</h2>
        <span>{{app.name}}</span>
    </div>
    <div ng-class="bbr box{{index}}" ng-click="update(app)" ng-if="{{index}} == 2 || {{index}} == 3 || {{index}} == 4 || {{index}} == 6 || {{index}} == 10 || {{index}} == 11 || {{index}} == 12">
        <h2>{{app.completion}} %</h2>
        <span>{{app.name}}</span>
    </div>
    <div ng-class="bbl box{{index}}" ng-click="update(app)" ng-if="{{index}} == 1 || {{index}} == 7 || {{index}} == 8 || {{index}} == 9 ">
        <h2>{{app.completion}} %</h2>
        <span>{{app.name}}</span>
    </div>

</div>

这里根据索引值,我正在切换模板。但它不适合我。我在这里做错了什么?

有人想出来吗?

提前致谢。

我收到此错误:

Error Link

1 个答案:

答案 0 :(得分:1)

ngIf指令需要一个表达式,因此您不需要在其中包含插值标记{{}}。属性值将由Angular解析和评估,但{{标记使值成为无效的JS表达式,无法处理。

正确的代码是

ng-if="index == 0 || index == 13 || index == 14 || index == 15 || index == 5 "