加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何在ng-repeat中显示元素一次

发布时间:2020-12-17 07:11:59 所属栏目:安全 来源:网络整理
导读:我需要按价格循环查看列表顺序,一旦价格不存在,我就会显示一条不可用的消息,但我不想为每个空元素显示它.我正在使用角度1.2 div ng-repeat="item in list | orderBy: 'cost'" div ng-if="cost == 0 and not already shown"Sorry the following are unavailab
我需要按价格循环查看列表顺序,一旦价格不存在,我就会显示一条不可用的消息,但我不想为每个空元素显示它.我正在使用角度1.2

<div ng-repeat="item in list | orderBy: 'cost'">

  <div ng-if="cost == 0 and not already shown">Sorry the following are unavailable</div>
  <div>...my item here...</div>
<div>

解决方法

您可以有条件地显示两个跨度 – 一个是0(您的’不可用’消息),另一个是其他任何东西.

<ul>
  <li ng-repeat="d in newData track by $index">
    <span ng-show="d > 0">{{d}}</span>
    <span ng-show="d === 0">Not Available</span>
  </li>
</ul>

数据可以通过一个函数传递给第一个之后的所有0:

$scope.data = [1,2,3,1,2]
  $scope.pullDupes = function(array) {
    var newArray = [];
    var zero;
    for(var i = 0; i < array.length; i++) {
      if (array[i] !== 0) {
        newArray.push(array[i])
      }
      if (array[i] === 0 && !zero) {
        zero = true;
        newArray.push(array[i])
      } 
    }
    return newArray;
  }
  $scope.newData = $scope.pullDupes($scope.data);

Plunker

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读