Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS在ng中搜索按格式化日期重复,不带控制器_Angularjs_Date_Search_Format_Ng Repeat - Fatal编程技术网

AngularJS在ng中搜索按格式化日期重复,不带控制器

AngularJS在ng中搜索按格式化日期重复,不带控制器,angularjs,date,search,format,ng-repeat,Angularjs,Date,Search,Format,Ng Repeat,如何按日期筛选ng重复的结果? 在重复对象中,我有一个日期类型的字段。在视图中,我有一个文本输入来编写搜索查询。我使用日期过滤器来设置日期的格式。我想进行文本搜索 我找到了一种进行这种搜索的方法: <thead> <tr> <td><input ng-model="search.surname"/></td> <td><input ng-model="search.name"/></td>

如何按日期筛选ng重复的结果? 在重复对象中,我有一个日期类型的字段。在视图中,我有一个文本输入来编写搜索查询。我使用日期过滤器来设置日期的格式。我想进行文本搜索

我找到了一种进行这种搜索的方法:

<thead>
<tr>
  <td><input ng-model="search.surname"/></td>
  <td><input ng-model="search.name"/></td>
  <td><input ng-model="search.patronymic"/></td>
  <td><input ng-model="search.passport" /></td>
  <td><input ng-model="search.birthdayStr" /></td>
</tr>
<tr ng-repeat="client in clients | filter:search" 
    ng-init="client.birthdayStr = ( client.birthday.value | date:'dd.MM.yyyy' )">
  <td>{{client.surname.value}}</td>
  <td>{{client.name.value}}</td>
  <td>{{client.patronymic.value}}</td>
  <td>{{client.passport.value}}</td>
  <td>{{client.birthdayStr}}</td>
</tr>

{{client.namite.value}
{{client.name.value}
{{client.patronymic.value}
{{client.passport.value}
{{client.birthdayStr}}


但是看起来很糟糕。有没有其他方法可以在不使用控制器的情况下实现同样的功能?

您的问题是如何使其看起来更好,还是希望其功能有所不同?@JonathanRowny,如何使代码看起来更好。我只是不想用控制器格式化日期。不清楚你们在问什么。在您的问题中,您指出在使筛选看起来更优雅方面存在问题,但在代码示例中,您实际上使用了
ng init
来创建一个临时日期变量,该变量仅用于显示目的。当你使用它的时候,为什么不把
{{client.birthdayStr}}}
替换为
{{client.birthdayStr.value}}date:'dd.MM.yyyyy'}
并完全去掉
nginit
表达式呢?@Stewie,问题是我添加了nginit以使它能够工作。我对AngularJS不是很有经验。事实上,如果我删除ng init并使用
{{client.birth.value | date:'dd.MM.yyyy'}
按日期筛选字段根本不起作用。我还试图编写一个自定义验证器,但我总是得到0作为实际参数。我明白了。没有注意到您在上一个输入元素中使用了
birthdayStr
。两种解决方案:1)编写一个自定义过滤器(这里似乎有点过分),2)在获取/创建
客户端
数组的控制器内准备
birthdayStr