Html angular.js ng类if-then语句不起作用

Html angular.js ng类if-then语句不起作用,html,angularjs,twitter-bootstrap-3,ng-class,Html,Angularjs,Twitter Bootstrap 3,Ng Class,我对angularjs比较陌生。我试图使用ng类将引导导航选项卡设置为活动的,如果它是当前选中的 <ul class="nav nav-tabs nav-stacked nav-pills" role="tablist" ng-repeat="category in editor.categories"> <li ng-model='value.[[category.id]]' ng-class="[[category.i

我对angularjs比较陌生。我试图使用ng类将引导导航选项卡设置为活动的,如果它是当前选中的

            <ul class="nav nav-tabs nav-stacked nav-pills" role="tablist" ng-repeat="category in editor.categories">
                <li ng-model='value.[[category.id]]' ng-class="[[category.id]] == [[currentTab]] ? 'active' : 'innactive'">
                    <a class="btn-md" ng-click="changeTab([[category]])" href="">[[category.name]]</a>
                </li>
            </ul>
在下面的代码段中,category.id=1456和currentTab=1456,但由于某些原因,它仍然设置了innactive类。据我所知,if-then语句将是这样的if(1456==1456)class='active';有没有人知道发生了什么事,或者有没有更好的方法让我来做这件事?如有任何建议,将不胜感激。谢谢


我很想问一下这个问题,但我还没有这个名声

出于好奇,你试过三等号吗?
[[category.id]==[[currentTab]]?'活动“:“innactive”


如果设置“==”仍然不起作用,也就是说它们都是不同类型的。如果是这样的话,那么您可能希望通过类似parseInt()的方法将它们都设置为int。

此示例代码有效,希望它能帮到您:

angular.module('myApp', [])
    .controller('myController', function ($scope) {
        $scope.currentTab = 1;
        $scope.editor = {
            "categories": [
                {"id": 1, "name": "cars"},
                {"id": 2, "name": "boats"},
                {"id": 3, "name": "planes"}
            ]
        };
    });

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <style>
        .active {
            color: green;
        }
        .innactive {
            color: lightgrey;
        }
    </style>
</head>
<body ng-controller="myController">
    <ul ng-repeat="category in editor.categories">
        <li ng-class="category.id == currentTab ? 'active' : 'innactive'">
            <a href="">{{category.name}}</a>
        </li>
    </ul>
    <script src="../angularjs/angularjs_1.2.5/angular.js"></script>
    <script src="test.js"></script>
</body>
</html>
angular.module('myApp',[])
.controller('myController',函数($scope){
$scope.currentTab=1;
$scope.editor={
“类别”:[
{“id”:1,“name”:“cars”},
{“id”:2,“name”:“boats”},
{“id”:3,“name”:“planes”}
]
};
});
.主动{
颜色:绿色;
}
innactive先生{
颜色:浅灰色;
}

===
代替
=
行吗?我刚试过,它仍然得到不活动的分类我刚试过,它仍然得到不活动的分类我刚刚编辑并更新了建议的答案。:)为了检查,使用typeof检查两种数据类型。谢谢!category.id实际上是一个string因为它来自JSON@SWLimOh ok!很高兴这有帮助:)请记住javascript可能有点过于宽松,所以它不会抱怨比较不同的类型。这也有帮助。谢谢。