2017-09-28 1 views
0

2番目のng-repeatフィールドが表示されない問題があります。最初のng-repeatは問題は発生せず、コンソールログ$scope.fieldsは正しいデータを取り戻していますが、入力ボックスはページに表示されていないようです。API呼び出しで入れ子になったng-repeat問題

データを正しく取得できるようですが、入れ子になった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

この種の問題はオブジェクト参照に関係していると思います。別のJSONオブジェクトで 'fields'をネストしようとすることができます。 –

+0

'ng-value'を' ng-model'に置き換えてください – tymeJV

+0

@tymeJVこれはうまくいかなかった。他に何か試すことができますか? – FoxMcCloud

答えて

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> 
です
関連する問題