2016-04-27 51 views
0

我想在使用AngularJS的视图中显示来自JSON嵌套数组的值。使用AngularJS在视图中访问控制器值

我检查了console.log()上的输出,并且按预期返回了JSON对象。但我想在我看来显示细节。特别是我希望将它们显示为所有高级值及其关联的子级别值。

这是我的app.js获取JSON并迭代它以获取所有高级值及其关联的子级项目。

angular.forEach($scope.data, function(value, key) 
{ 
    // Gets the high level items - WORKING 
    console.log("Check Item Description: " + value.checkitemdesc); 

    angular.forEach(value.options, function(v, k) 
    { 
     // Gets the sub-level items - WORKING 
     console.log("Check ID: " + v.fleetcheckid); 
     console.log("Check Value Description: " + v.checkvaluedesc); 
    }); 
}); 

我想,然后在温泉UI Switch in List Item Component

<ul class="list"> 
    <li class="list__item" ng-repeat="val in value"> 
    {{val.checkitemdesc}} <!-- NOT WORING HERE --> 
     <label class="switch switch--list-item"> 
      <input type="checkbox" 
       class="switch__input" 
       checked 
       onclick="modal.show('modal')"> 
      <div class="switch__toggle"></div> 
     </label> 
    </li> 
</ul> 

显示高水平的项目如何访问值由foreach循环返回的数组?我试图创建我的外层的foreach循环内部数组,然后每个值推到它,但得到错误说值为不确定

$scope.itemDescriptionArray.push(value.checkitemdesc); 
+1

您的数据在'scope.data'上,但是在您试图访问它的模板中,就好像它在'scope.value'上一样。把外部的ng-repeat改成'“val in data”'你应该很好走。 –

+0

完美,谢谢。就此而言,我如何访问内部的forEach值呢?我在类似的列表中尝试了ng-repeat =“checkValueDescriptions in value.options”,但没有运气。 *抓住吸管* – heyred

+0

如果您在外部循环中使用了'val in data',那么每个循环实例将具有变量名称“val” - 所以使用'val.options'。 –

回答

1

假设你有这样的层次:

$scope.items = { 
id1: { 
    foo: 'bar' 
} 
id2: { 
    foo: 'foo' 
} 
} 

,你想迭代它在模板中,你最终会做这样的事情:

<ul ng-repeat="(id,item) in items"> 
    Item {{id}} 
    <li ng-repeat="(key,value) in item"> 
    {{key + '=>' + value}} 
    </li> 
</ul> 

如果你想要遍历非关联数组,然后你做不需要在模板上定义元组。

相关问题