如何将本地JSON读入Angular typescript文件
我用的是Priming Datepicker。它的如何将本地JSON读入Angular typescript文件,json,angular,typescript,primeng,Json,Angular,Typescript,Primeng,我用的是Priming Datepicker。它的[locale]属性接受我存储在名为datePickerLanguages.json的本地json中的语言: { "DatePickerLanguages": [{ "spanish": { "firstDayOfWeek": 1, "dayNames": ["d
[locale]
属性接受我存储在名为datePickerLanguages.json的本地json中的语言:
{
"DatePickerLanguages": [{
"spanish": {
"firstDayOfWeek": 1,
"dayNames": ["domingo", "lunes", ...],
"dayNamesShort": ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"],
"dayNamesMin": ["D", "L", "M", "X", "J", "V", "S"],
"monthNames": [
"Enero",
"Febrero",
...
"Diciembre"
],
"today": "Hoy",
"clear": "Borrar"
}
},
{
"german": {
"firstDayOfWeek": 1,
"dayNames": ["Sonntag", "Montag",...]
...
"today": "Heute",
"clear": "Klar"
}
}
]
}
我必须将西班牙语
、德语
或任何其他语言(一次一种语言)输入p-calendar的[locale]=xxxxx
。我的打字稿是:
import { Component, OnInit, VERSION } from "@angular/core";
import languages from "./datePickerLanguages.json";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"]
})
export class AppComponent implements OnInit {
name = "Angular " + VERSION.major;
value;
languageList: {}[] = languages;
selectedLocale;
ngOnInit() {
this.selectedLocale = this.languageList.spanish;
}
}
模板文件:
<p-calendar [(ngModel)]="value" name="test" [locale]="selectedLocale">
</p-calendar>
我得到:
类型“{}[]”上不存在属性“西班牙语”
这就是我所遵循的:
这是你的电话号码
请指出我的错误。试试这个:
languageList: {
'DatePickerLanguages'
} = languages;
ngOnInit() {
this.selectedLocale = this.languageList.DatePickerLanguages[0].spanish;
}
如果您可以控制JSON文件。我建议您修改JSON,如下所示:
{
"DatePickerLanguages": { // Initialized it as object instead of array.
"spanish": {
....
},
"german": {
....
}
}
}
并通过以下方式访问西班牙语:
this.selectedLocale = this.languageList.DatePickerLanguages.spanish;
根据您评论中的要求:
在我的回答中使用第0个索引的原因是,在JSON中,“DatePickerLanguages”:
是一个数组[]
。属性spanish
位于数组的第0个索引中。wow这很有效。但是请解释为什么要使用第0个索引?我可以用JSON的方式来做一些不需要[0]
的更改吗。因为我的教学领导不会喜欢这种方法。