在我的代码中,我使用服务(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
以找出哪个选项卡处于活动状态。
有什么建议吗?