没有ng-repeat的AngularJS / Json,如何显示数据?

时间:2017-04-10 05:58:34

标签: javascript angularjs json

出于某种原因,我必须使用ng-repeat来显示数据。我想在不使用ng-repeat的情况下显示数据。

角:

App.controller('aboutLongCtrl', function ($scope, $http) {
    $http.get('test_data/ar_org.json')
    .then(function (res) {
        $scope.aboutlongs = res.data.aboutlong;
    });
});

这是我的标记:

<div class="background-white p20 reasons" ng-controller="aboutLongCtrl" >
    <h6 ng-repeat="aboutlong in aboutlongs"><b>About {{aboutlong.name}}</b></h6>
    <div class="reason-content" ng-repeat="aboutlong in aboutlongs">
       {{aboutlong.description}}
    </div>
</div>

如果我使用它,它将无法工作..谁能解释为什么?

<div class="background-white p20 reasons" ng-controller="aboutLongCtrl" >
    <h6><b>About {{aboutlong.name}}</b></h6>
    <div class="reason-content">
       {{aboutlong.description}}
    </div>
</div>

我遵循这种方法,但它不起作用: How to Display single object data with out Using ng-repeat?

我猜这是因为我的角度代码,有些事情是不对的。

3 个答案:

答案 0 :(得分:2)

可能变量 mainlink 是一个对象数组。

在第一种情况下,ng-repeat指令重复一组HTML,给定次数。

如果您仍想访问Object,可以访问数组Index并显示它。

aboutlongs

答案 1 :(得分:1)

ng-repeat用于打印数组

<div class="reason-content" ng-repeat="aboutlong in aboutlongs">
   {{aboutlong.description}}
 </div>

此处abvoutlongs是数组,您在每个重复aboutlong中提取单个元素。

<div class="reason-content"> {{aboutlongs[0].description}} {{aboutlongs[1].description}} </div>

这也可以..因为我们逐个访问数组aboutlongs的元素

答案 2 :(得分:1)

可能,res.data.aboutlong正在为$ scope.aboutlongs分配一个数组。并且只能使用ng-repeat显示数组。 或者,您也可以使用

<h6><b>About {{aboutlong[0].name}}</b></h6>

避免 ng-repeat。但是,我强烈建议你坚持使用ng-repeat。