将值从 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),如果它确实已设置。