如何获取嵌套的Angular UI Bootstrap选项卡的活动状态

时间:2014-01-28 14:13:00

标签: angularjs tabs angular-ui-bootstrap

在我的代码中,我使用服务(ngResource)从服务器API动态获取数据,以创建一系列嵌套选项卡。

我的代码非常像这样:

var AdminMenu = angular.module('AdminMenu',  ['ngResource', 'ui.bootstrap', 'ngGrid']);

AdminMenu.factory('myServices', ['$resource', function($resource) {

    return $resource('/api/categories?sort=createdAt asc');

}

和我的控制器

$scope.categories = myServices.categories.query();

在我的模板(玉)上我有

tabset
                        if(categories)
                            tab(ng-repeat="category in categories", heading="{{category.name}}", active="category.active", disabled="category.disabled")

                                tabset

                                    tab(ng-model="subCats", ng-repeat="subcat in subCats", heading="{{subcat.name}}", active="tab.active") {{subcat.content}}

这样就行了,但我需要获取第二个和第三个(尚未创建)生成选项卡的状态(活动和标题)。我可以从第一代获得它,因为Angular似乎会自动为第一代的每个对象添加位,如active:true,某些方法等。同样似乎不适用于后代。

有趣的是,选项卡未在我的控制器中声明(例如$scope.tabs = obj),它们是动态添加的。

如何访问每个后续一代标签的状态和标题(所有细节)?

我已经尝试在我的控制器中分配第二代和第三代,如下所示:$scope.tabs2 = $scope.categories.subcategories但这不起作用。我怀疑这是因为数据是动态收集的,但我不确定。由于我无法在控制器中分配选项卡,因此我无法简单地控制$scope.tabs2.active以找出哪个选项卡处于活动状态。

有什么建议吗?

0 个答案:

没有答案