AngularJS ng-repeat不起作用

时间:2015-02-28 21:26:59

标签: javascript angularjs ng-repeat

我正在开发一个有角度的应用程序,因为我是初学者,我不知道有关它的所有错误和解决方案。

我有一个代码:

<tr ng-repeat="person in goal.users">
    <td>{{ person }}</td>
</tr>
{{goal.users[0]}}

现在可以看出 - 我想打印出来的人。出于某种原因,它不打印我的人行。 goal.users包含一个对象数组。

如果我只是尝试打印出第一个数组值,那么它可以正常工作 - 我打印出一个对象,但不是在ng-repeat中。

//修改

控制器:

angular.module('goalCtrl', ['goalService', 'userService'])
.controller('goalCreateController', function(Goal, User) {

  var vm = this;
  // variable to hide/show elements of the view
  // differentiates between create or edit pages
  vm.type = 'create';

  User.all()
  .success(function(data) {
    // bind the users that come back to vm.users
    vm.users = data;
  });

  // function to create a Goal
  vm.saveGoal = function() {
    vm.processing = true;
    vm.message = '';
    // use the create function in the GoalService
    Goal.create(vm.goalData)
    .success(function(data) {
      vm.processing = false;
      vm.GoalData = {};
      vm.message = data.message;
    });

  };

});

目标获取我从Node服务器获得的一系列对象。它的工作原理是因为如果我只是在控制台中控制掉“vm.users”,那么我就能看到它内部的数组和对象。

任何人都可以帮助我,我出错了吗?

提前谢谢。

//修改

整个HTML模板。除了重复之外的一切都很好

<div class="page-header">
    <h1>Create User</h1>
    <tr ng-repeat="person in goal.users">
        <td>{{ person }}</td>
    </tr>
    {{goal.users[0]}}
</div>


<form class="form-horizontal" ng-submit="goal.saveGoal()">
    <div class="form-group">
        <label class="col-sm-2 control-label">Name</label>
        <div class="col-sm-6">
            <input type="text" class="form-control" ng-model="goal.goalData.name">
        </div>
    </div>
...

1 个答案:

答案 0 :(得分:1)

由于您正在使用ControllerAs功能,请尝试...

<tr ng-repeat="person in vm.goal.users">
    <td>{{ person }}</td>
</tr>
{{vm.goal.users[0]}}