将值从 ngOnInit 传递到模板
pass value from ngOnInit to template
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);
}
}
在模板中我有这个 link
<a [routerLink]="['en']">test</a>
如何将值从 ngOnInit 传递到该 routeLink?例如我想要这样的东西:
<a [routerLink]="[(lang)]">test</a>
但它是未定义的。在 ngOnInit 中它有值
如果 lang
真的不是 undefined 你应该可以在你的模板中这样做:
<a routerLink="{{lang}}">test</a>
或
<a [routerLink]="lang">test</a>
首先在您的 ngOnInit 中检查 console.log(lang)
,如果它确实已设置。
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);
}
}
在模板中我有这个 link
<a [routerLink]="['en']">test</a>
如何将值从 ngOnInit 传递到该 routeLink?例如我想要这样的东西:
<a [routerLink]="[(lang)]">test</a>
但它是未定义的。在 ngOnInit 中它有值
如果 lang
真的不是 undefined 你应该可以在你的模板中这样做:
<a routerLink="{{lang}}">test</a>
或
<a [routerLink]="lang">test</a>
首先在您的 ngOnInit 中检查 console.log(lang)
,如果它确实已设置。