Angular 2.0 übersetzen Pipe konnte nicht gefunden werden
Ich habe eine Komponente, die mit der translateService, aber es ist nicht möglich, zu übersetzen, Elemente, die mit dem Rohr auf die Komponente, die HTML-Vorlage, bekomme ich folgenden Fehler:
Rohr "übersetzen" konnte nicht gefunden werden
app.- Modul.ts
import {BrowserModule} from "@angular/platform-browser";
import {NgModule} from "@angular/core";
import {HttpModule, Http} from "@angular/http";
import {TranslateModule, TranslateLoader, TranslateStaticLoader} from 'ng2-translate';
import {AppComponent} from "./app.component";
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
HttpModule,
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (http: Http) => new TranslateStaticLoader(http, './assets/i18n', '.json'),
deps: [Http]
})
],
bootstrap: [AppComponent]
})
export class AppModule {
}
Buchung.Komponente.ts
import {Component, OnInit} from '@angular/core';
import {BookingComponent} from './booking.component';
import {TranslateService} from 'ng2-translate';
@Component({
selector: 'app-booking',
templateUrl: './booking.component.html',
styleUrls: ['./booking.component.css']
})
export class BookingComponent implements OnInit {
constructor(private translate: TranslateService
) {
translate.setDefaultLang('de');
translate.use('de');
};
ngOnInit() {
}
}
booking.component.html
<p>{{'TESTKEY' | translate }}</p>
Die übersetzung mit dem service auf die Komponente funktioniert gut, aber ich übersetzen müssen auch die html mit Rohr
InformationsquelleAutor Fabio | 2016-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
imports: [ TranslateModule ]
in welchem Modul dieBookingComponent
ist erklären. Der import in die app-Modul macht nur die Leitungen zur Verfügung deklarierten Komponenten in diesem Modul. Aber Anbieter/services sind weltweit registriert-Modul (im Gegensatz zu Komponenten, Richtlinien und Rohre)InformationsquelleAutor Paul Samsotha
Für diejenigen, die über diese, hier sind die Schritte, die Sie tun müssen, kurz gesagt, um das Problem zu beheben
Haben übersetzen der Modul-Logik zusammen mit übersetzen loader und translateFactory vorhanden in der app.- Modul.ts
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (http: Http) =>
new TranslateStaticLoader(http, './assets/i18n', '.json'),
deps: [Http]
})
],
Freigegeben.- Modul.ts (oder jedes andere Modul), import-und export-Übersetzen-Modul.
also: Translate Modul sollte ein Teil der import-und export-arrays. Die meisten Antworten in SO und github erwähnen importieren das Modul aber nicht auszuführen.
@NgModule({
imports: [
//other imported modules here
TranslateModule
],
exports: [
//other exported modules here
TranslateModule]
das Modul exportieren lässt sich die Pfeife in die anderen Module als shared; Umgekehrt, das Modul importieren in freigegebene erlauben, es zu benutzen und es ' s pipe in der gemeinsamen Modul.
InformationsquelleAutor Jonathan Cardoz