从控制器功能调用ng-repeat

时间:2014-09-13 23:14:23

标签: javascript angularjs

我想使用ng-repeat在我的应用中写出一些项目的列表,但我遇到了这个问题:

模板

<ion-slide-box  on-slide-changed="slideHasChanged($index)" ng-controller="AccountCtrl" ng-init="getData()">
    <ion-slide   ng-repeat="statitem in stats">
        <div class="box vh80">
            <h1>{{statitem.name}}</h1>
            <h1>Test</h1>
        </div>
    </ion-slide>
</ion-slide-box>

在AccountCtrl中

angular.module('starter.controllers', [])
    .controller('AccountCtrl', function($scope, Friends) {

        $scope.getData = function() {

            console.log('test');
            var friends = [
                { id: 0, name: 'Scruff McGruff' },
                { id: 1, name: 'G.I. Joe' },
                { id: 2, name: 'Miss Frizzle' },
                { id: 3, name: 'Ash efe' }
            ];
            $scope.stats = friends;
         }
   });

问题是,模板中没有获得任何项目。

请问哪里有问题?

感谢您的帮助。

修改

我通过将方法调用移动到父div来解决它。

<ion-content class="padding" ng-controller="AccountCtrl" ng-init="getData()">

2 个答案:

答案 0 :(得分:1)

尝试清除模板以进行测试以确保您的HTML 100%正确,因此您可以这样做:

<div ng-controller="AccountCtrl" ng-init="getData()">
    <div ng-repeat="statitem in stats">
          <h1>{{statitem.name}}</h1>
    </div>
</div>

如果您看到任何结果,则必须检查HTML和CSS模板。

答案 1 :(得分:0)

我通过将方法调用移动到父div来解决它。

<ion-content class="padding" ng-controller="AccountCtrl" ng-init="getData()">