我遇到的问题是没有看到第二个ng-repeat
字段。第一个ng-repeat
触发没有问题,$scope.fields
的控制台日志正在恢复正确的数据,但输入框似乎没有填充在页面上。
我似乎能够正确获取数据,我似乎无法掌握嵌套ng-repeat
部分的内容。
这是我的HTML
<div class="col-lg-6">
<div id="categories_inputs" ng-repeat="category in categories">
<h2>{{category.name + ' - ' + category.templateCategoryId}}</h2><br>
<div id="field_inputs" ng-repeat="field in fields">
Field: <input ng-value="field.field" />
Label: <input ng-value="field.label" />
</div>
</div>
</div>
这是js
api.getCategories({templateId: template}, function(categories){
$scope.categories = categories;
angular.forEach(categories, function(value, key){
api.getTemplateFields({templateCategoryId: value.templateCategoryId}, function(fields) {
$scope.fields = fields;
});
});
});
答案 0 :(得分:0)
通过将js更改为:
解决了这个问题$scope.categoryLoaded = function(category){
api.getTemplateFields({templateCategoryId: category.templateCategoryId}, function(fields) {
alert(category.templateCategoryId);
category.fields = fields;
});
};
并且html现在是
<div ng-repeat="category in categories" ng-init="categoryLoaded(category)">
<h2>{{category.name + ' - ' + category.templateCategoryId}}</h2><br>
<div ng-repeat="field in category.fields">
Field: <input ng-value="field.field" />
Label: <input ng-value="field.label" />
</div>
</div>