我有以下example.json文件:
[
{
"interests": [
{
"item": "art"
},
{
"item": "literature"
},
{
"item": "history"
},
{
"item": "science"
}
]
},
{
"experience": [
{
"year": "novice"
},
{
"year": "experienced"
}
]
}
]
在我的视图控制器中,我读了这样的文件:
app.controller('ProfileCtrl', ["$scope", "$state", "$http",
function ($scope, $state, $http) {
$http.get('files/example.json').success(function (data)
{
$scope.myjsonobj= data;
});
在我的html视图中,我正在注入这样的值:
<div ng-controller="ProfileCtrl">
...
<select class="form-control" ng-model="user.favs">
<option ng-repeat="p in interests.myjsonobj" value="{{p.item}}">{{p.item}}</option>
</select>
如何只展示&#34;兴趣&#34;的值列表?在我的下拉菜单中?如何在angularjs中访问嵌套的json数组?
我当前的设置无效。
答案 0 :(得分:1)
假设'interest'是您的控制器短名称。
你可以使用:
<option ng-repeat="p in myjsonobj[0].interests" value="{{p.item}}">{{p.item}}</option>
理想情况下,您应该循环数据对象以使用'interest'键与hardcoding [0]查找索引。
更新:删除了“兴趣”。从重复。好像你没有ctrl短名称绑定。
答案 1 :(得分:0)
我不是一个有角色的人。但凭借我的javascript知识,我觉得
“interests.myjsonobj”
应该是
“myjsonobj.interests”