问题
When I use my custom pipe in a template, it is like this:
{{user|userName}}
And it works well.
Is it possible to use a pipe in the code?
I try to use it like this:
let name = `${user|userName}`;
But it shows
userName is not defined
My alternative way is using db.collection.findOne()
manually in the code. But is there any smart way?
回答1:
First declare the pipe in the providers
of your module:
import { YourPipeComponentName } from 'your_component_path';
@NgModule({
providers: [
YourPipeComponentName
]
})
export class YourServiceModule {
}
Then you can use @Pipe
in a component like this:
import { YourPipeComponentName } from 'your_component_path';
class YourService {
constructor(private pipe: YourPipeComponentName) {}
YourFunction(value) {
this.pipe.transform(value, 'pipeFilter');
}
}
回答2:
@Siva is correct. And thanks!
So the way to use the pipe in the component is like this:
let name = new UserNamePipe().transform(user);
Link to another similar question.
来源:https://stackoverflow.com/questions/35159079/is-it-possible-to-use-a-pipe-in-the-code