setAlas,另一个有角度的问题 - 它不像我希望的那样直观地工作。
在templates
我有几个标签:
<div ng-init="setActiveTab(1)" class="tab-nav two-tabs clear">
<div ng-class="{active:tab===1}" ng-click="tab = 1">
Tab 1
</div>
<div ng-class="{active:tab===2}" ng-click="tab = 2">
Tab 2
</div>
</div>
这些切换内容:
<div class="content" ng-show="tab === 1">
Foo
</div>
<div class="content" ng-show="tab === 2">
Bar
</div>
在相应的controller
中,我有setActiveTab()
函数:
$scope.setActiveTab = function(tab)
{
return 'tab = '+tab;
};
挺直接的吧?不是真的,它完全忽略了这个功能。当我手动输入tab = 1
进入ng-init
时,它神奇地起作用 - 认真发生了什么事?
由于
答案 0 :(得分:0)
将标签设为$ scope变量
试
$scope.setActiveTab = function(val) {
$scope.tab = val;
}
<div ng-init="setActiveTab(1)" class="tab-nav two-tabs clear">
<div ng-class="{active:tab===1}" ng-click="setActiveTab(1)">
Tab 1
</div>
<div ng-class="{active:tab===2}" ng-click="setActiveTab(2)">
Tab 2
</div>
</div>