0
我在继续关于在egghead.com上使用Angular 2的约翰林德奎斯特(John Lindquist)以及完成与他完全相同的事情之后,我没有得到相同的结果。Angular 2自定义管道
这是关于课程17
我有一个自定义过滤器,其完美的作品:
开始,pipe.ts
import {Pipe} from '@angular/core';
@Pipe({
name: "started"
})
export class StartedPipe{
transform(value, [status]){
return value.filter((item)=> item.status === "started");
}
}
待办事项,list.ts
import {Component, Input} from '@angular/core';
import {TodoService} from "./todo-service";
import {TodoItemRenderer} from "./todo-item-renderer";
import {StartedPipe} from './started-pipe';
@Component({
selector: 'todo-list',
pipes: [StartedPipe],
directives: [TodoItemRenderer],
template: `
<div>
<ul>
<li *ngFor="let todo of todoService.todos | started : 'started'">
<todo-item-renderer
[todo]="todo"
(toggle)="todoService.toggleTodo($event)">
</todo-item-renderer>
</li>
</ul>
</div>
`
})
export class TodoList{
@Input() status;
constructor(public todoService: TodoService){}
}
但是当我想使用我的变换值的数组arg时,它不再起作用:
开始,pipe.ts
import {Pipe} from '@angular/core';
@Pipe({
name: "started"
})
export class StartedPipe{
transform(value, [status]){
return value.filter((item)=> item.status === status);
}
}
如果你有一个想法,它的欢迎!
谢谢。
非常感谢好友。 –
嗨伙计:)一个问题:你确定这仍然是做到这一点的方法吗?看来我不能再有组件上的管道属性了。 – johnnyfittizio
@johnnyfittizio你应该在模块的'declarations'数组中声明你的管道 – yurzui