我想過濾對象列表的屬性並使用filter
過濾器。問題在於某些對象屬性應用了過濾器,這些過濾器會更改它們的顯示格式(請參閱下面的代碼中的formatDate過濾器),並且filter
過濾器將使用未格式化的對象屬性。AngularJS - 按對象屬性過濾應用了過濾器的列表
例如:有一個.duration = 150(秒)的視頻將顯示爲00:02:30(因爲formatDate過濾器)。如果用戶搜索「02」,則由於搜索到視頻的.duration屬性並且「02」不匹配150,所以視頻不會被發現。
什麼是通過顯示進行過濾的最簡單方法價值而不是「原始」價值?
我想過爲列表中的每個對象添加一個getDurationFormatted()函數,並顯示和過濾該屬性,但這會嚴重降低HTML的表現力。
<input ng-model="query">
<tr ng-repeat="video in videos | filter:query">
<td>
{{ video.name }}
</td>
<td>
<!-- The formatDate filter is used to format the amount of seconds -->
{{ video.duration | formatDate:'HH:mm:ss' }}
</td>
</td>
可以是'{{formattedDuration =(video.duration | formatDate:「HH:MM: ss')}}'會工作。 – YOU