【问题标题】:Present ng-repeat values in separate <td> for each data stored in array. AngularJS对于存储在数组中的每个数据,在单独的 <td> 中显示 ng-repeat 值。 AngularJS
【发布时间】:2017-09-01 20:20:37
【问题描述】:

使用 ng-repeat 时,从后端发送的数组值必须分开并出现在不同的行中。我有一个从数据库获取数据的数组,但是它将所有数据保存在第一个索引中。

后台

List <String> sportsValues; 

角度 JS

$scope.sports = { values: [] }; 

if (scope.sports.values.length > 0) {
 $scope.sports.values.push(sportsValues)
}; 

HTML

<table> 
 <tr ng-repeat="value in sports.values">
     <td> {{ values }} </td> 
 </tr>
</table>

当前结果

[["football, basketball, baseball"]] 

如果我愿意,$scope.sports.value(0) = {"football, basketball, baseball"}

表格中的所需结果

football
basketball
baseball

人们建议加入,在 CSS 中列出分隔符和拆分,但都没有奏效。 一个简单的指南或提示将不胜感激。

【问题讨论】:

  • 嗯,你有一个二维数组...你想要一个二维数组吗? $scope.sports.values = sportsValues 也可以。
  • @tymeJV,不,我只想要一个简单的数组,可以在表中的不同 中呈现数据。

标签: angularjs html-table angularjs-ng-repeat


【解决方案1】:

如果您只想打印第一个实例,那么

<table> 
  <tr ng-repeat="value in sports.values[0]">
     <td> {{ value }} </td> 
  </tr>
</table>

更新

您想打印每个tr 中的所有值,然后只需更改为$scope.sports.values 分配值的方式

$scope.sports = { values: [] }; 

if(angular.isArray(sportsValues)) {
   $scope.sports.values = sportsValues[0].split(",");
}

然后将ng-repeat改成你之前的样子

<table> 
  <tr ng-repeat="value in sports.values">
     <td> {{ value }} </td> 
  </tr>
</table>

【讨论】:

  • 是否可以调整每个值将获得每个 td 的代码?
  • @JohnSmith 是集合将有多个值,如 [["a","b","c"], ["d","e", "f"]...]?
  • 是["a, c, d, e, f, g"]
  • @JohnSmith 然后而不是 $scope.sports.values.push(sportsValues) 行,只需执行 $scope.sports.values = sportsValues 您将结果数组分配给值然后 ng-repeat="value in sports.values"
  • 帕克,很抱歉,但现在我得到了 a、c、d、e、f、g
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-19
相关资源
最近更新 更多