带有ng-repeat的角度ui-bootstrap:如果没有标签,则不会选择新标签

时间:2017-01-18 22:30:03

标签: javascript angularjs angular-ui-bootstrap

以下是展示我的问题的链接:http://codepen.io/pietrofxq/pen/ZLLJdr?editors=1010

点击"删除标签"然后在"添加标签"

问题:我使用ng-repeat循环显示标签。但是可能有一段时间阵列中没有任何项目,当我添加一个标签时,我希望此标签已经被选中,因为它是唯一一个tabs数组。现在的行为是我必须在选项卡中单击以获得角度以知道该选项卡已被选中。如何在数组中添加此选项卡时选中此选项卡?

1 个答案:

答案 0 :(得分:0)

找到一个肮脏的黑客让它发挥作用。

我有多个标签,所以我需要跟踪每个标签:

$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 
  })
}