Angularjs 如何将当前选定的选项卡绑定到作用域上的属性

Angularjs 如何将当前选定的选项卡绑定到作用域上的属性,angularjs,Angularjs,我在范围内的集合上使用ng repeat显示了多个选项卡 现在我需要一个作用域上的“CurrentSelection”属性,它应该绑定到活动选项卡的名称。这是我正在尝试的代码,但它不起作用,我总是出错 <uib-tab ng-repeat="mapping in template.mappings track by $index" heading="{{mapping.name}}({{mapping.targetEngineVersion}})"

我在范围内的集合上使用ng repeat显示了多个选项卡

现在我需要一个作用域上的“CurrentSelection”属性,它应该绑定到活动选项卡的名称。这是我正在尝试的代码,但它不起作用,我总是出错

<uib-tab ng-repeat="mapping in template.mappings track by $index" heading="{{mapping.name}}({{mapping.targetEngineVersion}})"
                     active={{mapping.active}}>

我认为您需要有一个uib选项卡集,然后使用active属性选择active选项卡

<uib-tabset active="active">
    <uib-tab ng-repeat="mapping in template.mappings" heading="{{mapping.name}}({{mapping.targetEngineVersion}}) {{mapping.active}}" index="$index">
</uib-tabset>

 $scope.change = function(){
    for(var i = 0; i < $scope.template.mappings.length; i++){
      if($scope.active === i){
        var x = 0;
        if(i+1 < $scope.template.mappings.length){
          x = i+1;
        }
        $scope.active = x;
        break;
      }
    }
  };

$scope.change=函数(){
对于(var i=0;i<$scope.template.mappings.length;i++){
如果($scope.active==i){
var x=0;
if(i+1<$scope.template.mappings.length){
x=i+1;
}
$scope.active=x;
打破
}
}
};
下面是一个工作示例的链接

<uib-tabset active="active">
    <uib-tab ng-repeat="mapping in template.mappings" heading="{{mapping.name}}({{mapping.targetEngineVersion}}) {{mapping.active}}" index="$index">
</uib-tabset>

 $scope.change = function(){
    for(var i = 0; i < $scope.template.mappings.length; i++){
      if($scope.active === i){
        var x = 0;
        if(i+1 < $scope.template.mappings.length){
          x = i+1;
        }
        $scope.active = x;
        break;
      }
    }
  };