ng-repeat不会重复数据数组

时间:2014-12-11 15:18:10

标签: javascript angularjs ng-repeat

我使用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>

只有它不会返回任何东西。我觉得我在某个地方错过了一套?

3 个答案:

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