我收到错误Cannot read property 'bind' of undefined
我创建了一个自定义过滤器来按名称过滤掉搜索字段,但我收到此错误并且无法通过它。任何帮助表示赞赏。
还要跟进问题。在Angular2的最新版本中,我们是否不再在@Component下添加过滤器:[FilterArrayPipe],但是在NGModule声明中通过app.module.ts添加它?
filter.pipe.ts
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({name: 'filter'})
export class FilterArrayPipe implements PipeTransform{
transform(value, args){
if(!args || !args[0]) {
return value;
}
else if(value) {
return value.filter(item => {
for (let key in item){
if((typeof item[key] === 'string' || item[key] instanceof String)&&
(item[key].indexOf(args[0]) !== -1)) {
return true;
}
}
})
}
}
}
users.component.html
<div class="container">
<div class="input-group">
<input type="text" id="search" class="form-control" placeholder="Search Users" [(ngModel)]= "filterText">
</div><!-- /input-group -->
<br>
<table class="table table-bordered">
<thead>
<tr>
<th>Name</th>
<th>Username</th>
<th>Email</th>
<th>Phone</th>
</tr>
</thead>
<tbody *ngFor="let user of _users | filter: filterText" >
<tr>
<td>{{user.name}}</td>
<td>{{user.username}}</td>
<td>{{user.email}}</td>
<td>{{user.phone}}</td>
</tr>
</tbody>
</table>
</div>
答案 0 :(得分:0)
你有一个错字。您正在实施SELECT [t0].[StadiumName] FROM [dbo].[PFStadium] AS [t0] INNER JOIN [dbo].[PFEvent] AS [t1] ON ([t0].[Stadium_ID]) = @p0
方法时应该tranform
。
下一个导入transform
并声明类似PipeTransform
的类使TypeScript编译器失败并警告您错误的方法可能对您有所帮助。