【问题标题】:what is the $location.search() in angular 4角度 4 中的 $location.search() 是什么
【发布时间】:2020-02-26 19:07:30
【问题描述】:
如何在 Angular 4 中使用 $location.search
var queryParams = $location.search(); -- in angular
setDefaultLanguage() {
var queryParams = $location.search();
if (queryParams.locale) {
var locale = queryParams.locale;
var selectedLanguageArray = languageOptions.filter(function (lang:any) {
return String(lang.id).toLocaleLowerCase() === String(locale).toLocaleLowerCase();
});
}
【问题讨论】:
标签:
angular
angular4-forms
【解决方案1】:
您可以使用已激活的路线:
export class AppComponent {
constructor(route: ActivatedRoute) {
route.queryParams.pipe(
filter(q => !!q.locale),
map(q => q.locale as string),
distinctUntilChanged()
).subscribe(locale => console.log(locale));
}
}
或者,如果您只想拥有一次,您可以从快照中获取它:
if (route.snapshot.queryParams.locale) {
const locale = route.snapshot.queryParams.locale;
const selectedLanguageArray = languageOptions.filter(function (lang: any) {
return String(lang.id).toLocaleLowerCase() === String(locale).toLocaleLowerCase();
});
}