我使用Angular的$ http提取JSON文件,但我无法使用ng-repeat格式化数据数组。
为了简洁起见,以下是我正在使用的示例内容......
{
name:"Pete",
phone: {
brand: "Nexus",
OS: "Android",
contacts: [
"Alexis",
"Billy",
"Chuck",
"Danny"
]
}
}
然后我的代码是
function($scope, $http) {
$http.get('/my/url')
.success(
function(data){
$scope.contacts = data.phone.contacts;
我的HTML是
<div ng-repeat="names in contacts">
{{names}}
</div>
只有它不会返回任何东西。我觉得我在某个地方错过了一套?
答案 0 :(得分:0)
在JSON中:
conAtacts: [
"Alexis",
"Billy",
"Chuck",
"Danny"
]
在视图上:
<div ng-repeat="names in contacts">
{{names}}
</div>
con A 机智!=联系人
此外,您错过了JSON中的一个括号。 应该是:
{
name:"Pete",
phone: {
brand: "Nexus",
OS: "Android",
contacts: [
"Alexis",
"Billy",
"Chuck",
"Danny"
]
}
}
这可能是问题的原因吗?
答案 1 :(得分:0)
您的问题可能仅仅是因为当您使用可在AngularJS中演变的值时,您不会尊重广泛推荐的“点”实践。
在范围内创建一个对象:
$scope.dataScope = {}
然后在你的方法
function($scope, $http) {
$http.get('/my/url')
.success(
function(data){
$scope.dataScope.contacts = data.phone.contacts;
并在你的HTML中
<div ng-repeat="name in dataScope.contacts">
{{name}}
</div>
答案 2 :(得分:0)
感谢大家一如既往的快速回复。这是我的睡眠剥夺和过度思考的情况,我省去了ng-controller用于ng-repeat所在的div。
<div **ng-controller="myCtrl"** ng-repeat="names in contacts">
{{names}}
</div>