Angular ui-bootstrap with ng-repeat:如果没有标签,则不会选择新标签
Angular ui-bootstrap with ng-repeat: if there's no tabs, new tab isn't selected
这里是 link 来演示我的问题:http://codepen.io/pietrofxq/pen/ZLLJdr?editors=1010
单击 "remove tabs",然后单击 "add tab"
问题:我用 ng-repeat
循环显示标签。但是有时数组中没有项目,当我添加一个选项卡回来时,我希望这个选项卡已经被选中,因为它是选项卡数组中唯一的一个。现在的行为是我必须在选项卡中单击 angular 才能知道该选项卡已被选中。当我将它添加到数组中时,如何才能选中该选项卡?
找到一个肮脏的 hack 来让它工作。
我有多个选项卡,所以我需要跟踪每个选项卡:
$scope.tabs = {
tabOne: 0,
tabTwo: 0
}
<uib-tabset active="tabs.tabOne"></uib-tabset>
<uib-tabset active="tabs.tabTwo"></uib-tabset>
当数组为空并且我又添加了一个选项卡时,我必须在 $timeout 调用中重置值:
$scope.$watch("items", function() {
$timeout(function() {
for (var prop in $scope.tabs)
$scope.tabs[prop] = 0
})
}
这里是 link 来演示我的问题:http://codepen.io/pietrofxq/pen/ZLLJdr?editors=1010
单击 "remove tabs",然后单击 "add tab"
问题:我用 ng-repeat
循环显示标签。但是有时数组中没有项目,当我添加一个选项卡回来时,我希望这个选项卡已经被选中,因为它是选项卡数组中唯一的一个。现在的行为是我必须在选项卡中单击 angular 才能知道该选项卡已被选中。当我将它添加到数组中时,如何才能选中该选项卡?
找到一个肮脏的 hack 来让它工作。
我有多个选项卡,所以我需要跟踪每个选项卡:
$scope.tabs = {
tabOne: 0,
tabTwo: 0
}
<uib-tabset active="tabs.tabOne"></uib-tabset>
<uib-tabset active="tabs.tabTwo"></uib-tabset>
当数组为空并且我又添加了一个选项卡时,我必须在 $timeout 调用中重置值:
$scope.$watch("items", function() {
$timeout(function() {
for (var prop in $scope.tabs)
$scope.tabs[prop] = 0
})
}