AngularJS数组到ng-repeat

Posted

技术标签:

【中文标题】AngularJS数组到ng-repeat【英文标题】:AngularJS array to ng-repeat 【发布时间】:2015-10-26 12:06:16 【问题描述】:

当收到 websocket 消息时,运行以下代码:

connection.onmessage = function (eventInfo) 
var onConnectionMessage = JSON.parse(eventInfo.data);

if (onConnectionMessage.messageType === "newRequest") 
    getQuizRequests();


getQuizRequests() 是如下函数:

function getQuizRequests() 
var URL = '/acceptOrReject/' + lookUpCode();

$http.get(URL)
    .success(function (data) 
        for (var i = 0; i < data.teamArray.length; i++) 
            teamArray[0] = data.teamArray[i];
        
    )
    .error(function (data, status) 
        alert("ERROR data cant be loaded");
    );
 

我想在 ng-repeat 中调用这个 teamArray。如何将这个填充的数组发送到我使用 ng-repeat 的代码中?

【问题讨论】:

需要成为视图呈现的控制器范围的一部分。 teamArray 定义在哪里?你为什么每次都写teamArray[0]。请提供所有相关的代码上下文 此代码在服务中吗?控制器? teamArray[0] = data.teamArray[i]; 没有意义 【参考方案1】:

假设这都在同一个控制器中

$scope.teamArray = [];

function getQuizRequests() 
    var URL = '/acceptOrReject/' + lookUpCode();

    $http.get(URL)
    .success(function (data) 
        for (var i = 0; i < data.teamArray.length; i++) 
            $scope.teamArray.push(data.teamArray[i]);
        
    )
    .error(function (data, status) 
            alert("ERROR data cant be loaded");
    );
 

然后在你的html

<ul ng-show="teamArray.length > 0" ng-repeat="member in teamArray">
    <li>member</li>
</ul>

【讨论】:

以上是关于AngularJS数组到ng-repeat的主要内容,如果未能解决你的问题,请参考以下文章

如何在angularjs中合并两个对象数组?

使用带有 AngularJS 的复选框过滤数组

Angularjs如何处理来自php(json)的二维数组

Angularjs $http POST 请求空数组

无法从范围数组AngularJS中删除元素

使用 ANGULARJS $resource 发布一个 JSON 数组