MEAN堆栈 - 公共控制器 - 循环不工作

时间:2014-07-28 01:33:01

标签: angularjs loops for-loop mean-stack

我现在一直在搞乱一些代码约5个小时而且无处可去。我真的很沮丧,所以我想我会请求一些帮助。

我正在使用MEAN.JS框架,我正在构建一个前端控制器,用于循环遍历消息数组,构建一个可供视图使用的新用户名数组。

问题是任何类型的循环似乎都不起作用。我的意思是......我做了一个基本的:

var test = "x";
for(i = 0; i < 5; i++)
{
     test += "o";
}

它最终只是“x”

以下是代码的基本要点:

angular.module('core03-messages').controller('MessagesController', ['$scope', '$rootScope', '$http',
function($scope, $rootScope, $http) {
$http({method: 'GET', url: '/messages/'}).
success(function(data) {

//any sort of loop here

//all the closing brackets and such

知道为什么任何类型的for循环在那里不起作用?或者我是如何解决这种限制的?

非常感谢任何帮助,不能使用循环非常令人沮丧。

编辑:完整背景下的代码

'use strict';

angular.module('core03-messages').controller('MessagesController', ['$scope', '$rootScope', '$http',
    function($scope, $rootScope, $http) {  
        $rootScope.loadAction = 'messages';

          //get user data
          $http({method: 'GET', url: '/users/me'}).
            success(function(data) {
                $scope.user = data;
                $scope.profile_details = $scope.user.profile_details[0];

                    $http({method: 'GET', url: '/messages/' + $scope.user.username}).
                    success(function(data) {
                              $scope.messages = data;

                              $scope.threadedUsers = new Array();


                              // This does not work...I have no idea why ///////
                              for(i = 0; i < 5; i++)
                              {
                                   $scope.threadedUsers[i] = "TEST USER";
                              }
                              //////////////////////////////////////////////////


                             // The line below actually works if uncommented
                             //$scope.threadedUsers.push("TEST USER");

                    }).
                         error(function(data) {
                              // called asynchronously if an error occurs
                              // or server returns response with an error status.
                    });

        }).
            error(function(data) {
                // called asynchronously if an error occurs
                // or server returns response with an error status.
        });

}]);

解决:显然这是ng-repeat的一个问题。由于某种原因,ng-repeat在填充循环时不喜欢字符串数组。修改了代码以发送带有数组内部的JSON对象,并且它开始完美运行。

0 个答案:

没有答案