如何使用ng-repeat和数组单元格值填充列表?

时间:2017-06-28 10:53:45

标签: javascript angularjs arrays controller

我有一个数组,其中存储了已分割的字符串。我现在想制作一个控制器,将每个分裂的字符串放入列表中的下一个li元素。我知道如何对物体进行ng-repeat,但我不确定如何使用数组单元进行重复操作?

var app = angular.module("pageApp", []);
app.controller('populateController', function($scope, $http) {
    $scope.dat=[];
    $http.get('/api').success(function(data) {
        $scope.dat= data[0];
    });
    var str = $scope.dat.guide;
    var res= str.split("~");
})

 new Manual({
        name: 'name1',
        category_name: 'sewing',
        difficulty_level: 'easy',
        guide: 'guide1' +'~2. guide2' +'~3. guide3' +'~4. guide4' +'~5. guide5'
    }),

2 个答案:

答案 0 :(得分:0)

像这样:

  protected $casts = [
    'id' => 'integer',
    'name' => 'string' 
  ];

plunker: http://plnkr.co/edit/TMkMxebYECVH8gGIraGT?p=preview

答案 1 :(得分:0)

首先,您创建数组的方式始终为空,因为$http请求是异步的,同时也会将split()的结果存储为{$scope的变量1}},所以让你的代码像这样。

$scope.dat=[];
$http.get('/api').success(function(data) {
    $scope.dat= data[0];
    var str = $scope.dat.guide;
    $scope.guides = str.split("~");
});

现在要在列表中显示它们,您可以这样做:



var myApp = angular.module('myApp', []);

function MyCtrl($scope) {
  $scope.guides = ('guide1' + '~2. guide2' + '~3. guide3' + '~4. guide4' + '~5. guide5').split("~")
}

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
  <div ng-controller="MyCtrl">
    <ul>
      <li ng-repeat="guide in guides">{{guide}}</li>
    </ul>
  </div>
</div>
&#13;
&#13;
&#13;