まあ、私はあなたがあなたのフィルタを実装する方法を知りませんが、あなたのフィルタリングされたデータのインスタンスの作成のために、あなたがこれを行うことができます:
{{newDate = (date | date:'shortDate')}} -> "1/17"
{{newDate}} -> "1/17"
だから今、あなたはnewDate
の代わりdate
でキーワードを検索することができます。
お手数ですが、
更新:
それともカスタムフィルタを書いて、あなたの主なデータを損なうことなく、それらに反復する前にデータを変換することができます。
app.filter('toDate', ['$filter', function ($filter) {
return function (a) {
var b = angular.copy(a);
for (var i=0, j=b.length; i<j; i++) {
b[i] = $filter('date')(b[i], 'shortDate');
}
return b;
}
}]);
そして、このようにそれを使用します。
<ul>
<li ng-repeat="item in dates | toDate | filter:key">{{item}}</li>
</ul>
angular.module("app", [])
.controller("bodyCtrl", ["$scope", function($scope) {
$scope.dates = [
new Date("2016/1/1").getTime(),
new Date("2016/1/2").getTime(),
new Date("2016/1/3").getTime(),
new Date("2016/1/4").getTime(),
new Date("2016/1/5").getTime(),
]
}])
.filter('toDate', ['$filter', function ($filter) {
return function (a) {
var b = angular.copy(a);
for (var i=0, j=b.length; i<j; i++) {
b[i] = $filter('date')(b[i], 'shortDate');
}
return b;
}
}]);
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="bodyCtrl">
<input type="text" ng-model="key">
<hr>
Without toDate Filter
<ul>
<li ng-repeat="item in dates | filter:key">{{item | date:"shortDate"}}</li>
</ul>
<hr>
With toDate Filter
<ul>
<li ng-repeat="item in dates | toDate | filter:key">{{item}}</li>
</ul>
</body>
</html>
私はこの{{newDate}} - > "1/17"が必要ですか?構文ですか?それは何をするためのものか? – Autolycus
@Autolycusアップデートをチェックアウトします。 –
日付の有無は同じですか? – Autolycus