2
export class AppComponent implements OnInit {
  sub: any;
  lang: string;

constructor(public translate: TranslateService, public route: ActivatedRoute, private languageService: LanguageService) { }

ngOnInit() {

    this.sub = this.route.params.subscribe(p => {
        let lang = p['lang'];
        this.lang = lang;
    });

    this.languageService.translate.use(this.lang);
}
}

テンプレートにはこのリンクがあります

<a [routerLink]="['en']">test</a>

ngOnInit からその routeLink に値を渡すにはどうすればよいですか? たとえば、次のようなものが必要です。

<a [routerLink]="[(lang)]">test</a>

しかし、それは未定義です。ngOnInit には値があります

4

1 に答える 1

2

本当に未定義でない場合langは、テンプレートでこれを実行できるはずです。

<a routerLink="{{lang}}">test</a>

また

<a [routerLink]="lang">test</a>

console.log(lang)本当に設定されている場合は、最初に ngOnInit で確認してください。

于 2016-10-12T11:19:04.090 に答える