Angular 字符串格式时的js插值问题

Angular js interpolation issue when string format

我正在尝试格式化 HTML 中的字符串。这是我的html样本

      <tr ng-repeat="dob in userId.dobs">
                <td align="center">{{$index + 1}}</td>
                <td>{{dob.dateType}}</td>
                <td>{{dob.birthDate}}</td>
                <td>{{dob.dateYear}}</td>
                <td>{{dob.fromYear}}</td>
                <td>{{dob.toYear}}</td>
            </tr>

目前我的{{dob.fromYear}}节目像 1973/01/21。但是我需要拆分这个字符串并只保留年份。它像下面 {{dob.fromYear}} 像 1973 年一样显示。我尝试使用以下技术来做到这一点

 <td>{{dob.fromYear.split('/')}}</td>

现在我的结果像 ["1973","01","21"]

我只需要显示年份。我该怎么做?

您应该创建一个管道。将 Dob 字符串传递给管道,在管道内您可以进行一些文本操作以仅获取年份。

const year = "1111/22/33".split("/").slice(0,1).join()
return year;

此代码首先拆分字符串。然后 slice(0,1) 选择年份部分并 .join()[1111] 转换为字符串。

你可以试试

dob.fromYear.split('/')[0]

但我认为如果日期是另一种格式,这可能会有问题。所以更好用:

new Date(dob.fromYear).getFullYear()