/ / Angular2 тръби инжекция зависимостта - javascript, ъглова, машина, тръби-филтри

Angular2 тръби инжекция зависимостта - javascript, ъглова, машина, тръби-филтри

Здравейте всички, аз съм нов за anguler 2 Аз се опитвам да създадете потребителски тръба / филтър

но когато искам да се инжектира тръбата съм създаден вътре apps.ts не е възможно, както в приложеното изображение въведете описанието на изображението тук

моят компонент код:

import { Component, OnInit ,Pipe, PipeTransform} from "@angular/core";
import { Input, Injectable, ApplicationRef, ChangeDetectorRef } from "@angular/core";
import {Observable} from "rxjs/Rx"
import {Filter} from "../filter.pipe";

@Component({
selector: "app-test",
templateUrl: "./test.component.html",
styleUrls: ["./test.component.css"],
pipesp[Filter]

})

export class TestComponent implements PipeTransform  {
private todos = ["wash dishes", "Clean the ground","program the site", "eat"];
constructor() {
}

transform(value: any) {
if (!value) {
return "";
}

}
}

filter.pipe.ts код:

import  {Pipe, PipeTransform} from  "@angular/core";
@Pipe({name:"filter"})
export class Filter {
transform(value,args){
if(!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;
}
}
});
}
}

}

test.component.html

<input type="text" [(ngModel)]="filterText">
<ul>
<li *ngFor="let todo of todos | filter: filterText ">
{{todo}}
</li>
</ul>

Отговори:

1 за отговор № 1

Трябва да инжектирате тръбата на съответния модул както следва и да го използвате в компонента

 declarations: [
Filter
]

0 за отговор № 2

Трябва да включите Pipe Component в Ng Module (в модула на коренния компонент) и да го използвате като глобално във всички компоненти

@NgModule({
imports:      [ BrowserModule ],
declarations: [ SearchPipe ],
bootstrap:    [ AppComponent ]
})

И го използвайте директно в шаблона

@Component({
selector: "my-app",
template: "<p>My name is <strong>{{ name | search}}</strong>.</p>",
})

0 за отговор № 3

Тук е решение

пиша

@Component({
pipes: [ filter ]
})

Но не

@Component({
pipes[Filter]
})