我有一个简单的场景.两个选项卡,选项卡1和2.需要能够通过链接选择选项卡1.
HTML:
Content 1 Content 2
控制器代码:
$scope.activeTab = false; $scope.selectTab1 = function() { $scope.activeTab = true; } $scope.clickTab1 = function() { $scope.activeTab = true; } $scope.clickTab2 = function() { $scope.activeTab = false; }
Plunker在这里:http://plnkr.co/edit/5yBHmXZBHyWYZEtmshad?p = info
单击选项卡1或2时,我收到以下错误:
Error: [$compile:nonassign] Expression 'activeTab==true' used with directive 'uibTab' is non-assignable!
我可以将这个表达式更改'activeTab==true'
为像'activeTab'这样的更短的方式,但它似乎不起作用.
最好更新范围变量并将其绑定到active
选项卡的属性:
$scope.activeTab = []; $scope.selectTab1 = function(index) { $scope.activeTab[index] = true; }; $scope.clickTab = function(index) { $scope.activeTab[index] = true; };
在你看来:
Content 1 Content 2
我更新了plunkr
这也使得实现比以前更容易重复使用(例如,ng-repeat
如果需要,它可以很容易地在内部使用).
参考:GitHub问题