2016-09-20 63 views
0

在Angular2 RC.4中,我可以向每個組件注入組件和管道。管道。組件向角2中的組件注入

@Component({ 
    pipes: [ ToShortTime, ToTimeZone], 
    directives: [Restaurant, Spinner] 
}) 

我該如何在Angular2的發佈版本中做到這一點。 (例如注入一些管只在一個組件,在NgModule不使用「聲明」。

回答

1

它不可能!

您可以創建包括這一點分量的模塊..

0

我不知道是否有可能從模板側或沒有,但我相信有可能通過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) 
    } 
} 
1

我做了同樣的事情(我從rc4遷移到最終版本);所以我創建了我自己的微調組件(spinner.component)。

1)在app.module:

我在提供商聲明和SpinnerService進口SpinnerComponent。

2)在app.component.html:

我在login.component之前或之後router-outlet

3)加入<spinner-component></spinner-component>

我導入SpinnerService(並設置宣稱它在構造函數)

並最終我使用此服務每個http請求/響應