api调用嵌套的ng-repeat问题

时间:2017-09-28 18:00:11

标签: angularjs

我遇到的问题是没有看到第二个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;
            });
        });


   });

1 个答案:

答案 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>