如果两个跨度有数据,则添加字符

Character added if 2 spans have data

本文关键字:数据 字符 添加 两个 如果      更新时间:2023-09-26

所以我有下面显示的代码。用户界面允许用户选择单个日期或选择日期范围。这些都在span标记中,如果toDate有日期,我将尝试添加一个"-",否则,不要显示"-"(短划线)。尝试了不同的变体,但不确定为什么不能正常工作。有什么想法吗?

代码:

<span class="claimedRight" style="padding-right: 1px; display:block; width: 175px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float: right; text-align: right; padding-right: 10px;">{{ item.fromDate | date: 'MM/dd/yyyy' }} <span ng-show="item.toDate.length > 0">-</span><span>{{ item.toDate | date: 'MM/dd/yyyy' }}</span></span>
ng-show="item.toDate && item.toDate.toString().length > 0"

或者只使用ng-show="item.toDate"

由于DateDate,因此使用toString将其转换为string,然后检查长度

var app = angular.module('app',[]);
app.controller('ctrl', function($scope){
  $scope.item = {toDate:new Date(),fromDate:new Date()};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl"><span class="claimedRight" style="padding-right: 1px; display:block; width: 175px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float: left; text-align: right; padding-right: 10px;">{{ item.fromDate | date: 'MM/dd/yyyy' }} <span ng-show="item.toDate && item.toDate.toString().length > 0">-</span><span>{{ item.toDate | date: 'MM/dd/yyyy' }}</span></span></div></div>

使用CSS

<span class="dash-prefix" ng-show="item.toDate">{{ item.toDate | date: 'MM/dd/yyyy' }}</span>

.dash-prefix:before {
    content: " - ";
}

https://jsfiddle.net/ko771qsj/