在Angular2 RC.4中,我可以向每個組件注入組件和管道。管道。組件向角2中的組件注入
@Component({
pipes: [ ToShortTime, ToTimeZone],
directives: [Restaurant, Spinner]
})
我該如何在Angular2的發佈版本中做到這一點。 (例如注入一些管只在一個組件,在NgModule不使用「聲明」。
在Angular2 RC.4中,我可以向每個組件注入組件和管道。管道。組件向角2中的組件注入
@Component({
pipes: [ ToShortTime, ToTimeZone],
directives: [Restaurant, Spinner]
})
我該如何在Angular2的發佈版本中做到這一點。 (例如注入一些管只在一個組件,在NgModule不使用「聲明」。
它不可能!
您可以創建包括這一點分量的模塊..
我不知道是否有可能從模板側或沒有,但我相信有可能通過JavaScript(從組件的類)
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)
}
}
我做了同樣的事情(我從rc4遷移到最終版本);所以我創建了我自己的微調組件(spinner.component)。
1)在app.module:
我在提供商聲明和SpinnerService進口SpinnerComponent。
2)在app.component.html:
我在login.component之前或之後router-outlet
3)加入<spinner-component></spinner-component>
:
我導入SpinnerService(並設置宣稱它在構造函數)
並最終我使用此服務每個http請求/響應