以角度加载Long Json文件的最佳方法

时间:2015-09-21 12:41:30

标签: javascript html json angularjs

我正在创建一个Card游戏并从json文件加载所有卡片,因为我发现它更容易。我正在以正常方式加载json,如下所示

  

脚本

app.controller('CardsController', function($scope, $http)
{
    $http.get("Card.json").success(function(response){
        $scope.Cards = response;
    }).error(function(data, status, headers, config) {
        console.log('error loading json');
    });

    $scope.random = function() {
        return 0.5 - Math.random();
    }
});

我正在将这个json结果迭代到div中,如下所示

  

HTML

<div id="leftSideHolder">
    <div ng-repeat="card in Cards | orderBy:random | limitTo:20">
        <div style="position:absolute;">
            <img src='images\{{card.image}}.{{card.imagetype1}}' width="154px" height="232px"/>
        </div>
    </div>
</div>

但是我收到Angular的错误。 Error Link from Angular。不知道这个错误是什么:(我认为它的数组初始化问题。

我尝试了以下解决方案

var cardList = null;
$http.get("data/Cards.json").success(function(response){
        cardList = response;
    }).error(function(data, status, headers, config) {
        console.log('error loading json');
    });

    $scope.Cards = function() {
       return cardList;
    }

在html中我使用了 Cards(),如下所示

<div ng-repeat="card in Cards() | orderBy:random | limitTo:20">
    <div style="position:absolute;">
        <img src='images\{{card.image}}.{{card.imagetype1}}' width="154px" height="232px"/>
    </div>
</div>

但仍然是同样的问题。我试图在ng-repeat中删除随机,这个错误就行了。但我也需要将数组随机化。

我的代码也在以下链接中。

http://plnkr.co/edit/cQMXfVJFMhr3t1OG5G97?p=preview

0 个答案:

没有答案