在Angular2 RC.4中,我可以为每个组件注入组件和管道。
@Component({
pipes: [ ToShortTime, ToTimeZone],
directives: [Restaurant, Spinner]
})
如何在Angular2的发布版本中执行此操作。 (例如,只在一个组件中注入一些管道,而不是在NgModule中使用“声明”。
答案 0 :(得分:1)
不可能!
您可以创建一个仅包含该组件的模块..
答案 1 :(得分:1)
我做了同样的事情(我从rc4迁移到最终版本);所以我创建了自己的微调器组件(spinner.component)。
1)在app.module中:
我在声明中导入了SpinnerComponent,在提供者中导入了SpinnerService。
2)在app.component.html中:
我在<spinner-component></spinner-component>
router-outlet
3)在login.component:
我导入了SpinnerService(并在构造函数中设置声明)
最后我使用这个服务每个http请求/响应
答案 2 :(得分:0)
我不确定是否可以从模板方面进行。但我确信它可以通过JavaScript(来自Component的类)。
Plunker:http://plnkr.co/edit/EDWfnnhe4NYsewpOoFhP?p=preview
import { Component } from '@angular/core';
import {Pipe, PipeTransform} from '@angular/core';
class LengthPipe implements PipeTransform {
transform(value: string, displayMessage: boolean): string {
return displayMessage ? `${value} ${value.length}` : `${value.length}`
}
}
@Component({
selector: 'my-app',
template: '<h1>My First Angular 2 App</h1><p>{{title}}</p><button (click)="doPipe()">Call Pipe</button>'
})
export class AppComponent {
title: String = 'Title';
doPipe() {
let f = new LengthPipe();
this.title = f.transform(this.title,true)
}
}