Javascript 在angular 2中绑定ngmodel中的json值
这是我的json响应。如何在angular 2中绑定Javascript 在angular 2中绑定ngmodel中的json值,javascript,java,json,angular,typescript,Javascript,Java,Json,Angular,Typescript,这是我的json响应。如何在angular 2中绑定[(ngModel)]中的rewards.rewardName值 [ { "id": 18, "gname": "learning ramayanam", "goalCategory": "Education", "goalSubCategory": "short-term", "goalDesc": "good", "rowStatusCode": "D", "createID": "1",
[(ngModel)]
中的rewards.rewardName值
[
{
"id": 18,
"gname": "learning ramayanam",
"goalCategory": "Education",
"goalSubCategory": "short-term",
"goalDesc": "good",
"rowStatusCode": "D",
"createID": "1",
"createTS": null,
"updateID": "Ram",
"updateTS": null,
"rewards": {
"rewardID": 1,
"rewardName": "Laptop"
}
]
这是我的代码伙伴如何在ngModel中绑定值
ngOnInit() {
this.route.params
.forEach(params => {
this.isEdition = !!params['id'];
if (this.isEdition) {
// this.getDocument(params['id']);
this.itemPromise = this.http.get('http://localhost:8080/dy/get-goal?id='
+
params['id'])
.map(res => res.json()).toPromise();
this.itemPromise.then((item: any) => {
console.log(item);
var arr = JSON.parse(item);
this.item = arr[0];
return item;
});
将json解析为一个对象
var obj = JSON.parse(json);
然后将其绑定到您的元素
[(ngModel)]="obj.rewards.rewardName"
将json解析为一个对象
var obj = JSON.parse(json);
然后将其绑定到您的元素
[(ngModel)]="obj.rewards.rewardName"
我建议你看一下这本书。我建议你使用承诺或观察。看来你想用承诺,所以我给你举个例子。另外,请考虑使用推荐的服务(如教程),但在这里我将使用您现有的代码:
//删除“this.itemPromise=”并只保留下面的代码
this.http.get('http://localhost:8080/dy/get-目标?id='+params['id'])
.toPromise()
.then(res=>res.json())
。然后(数据=>{
this.item=数据[0];
})
完成此操作后,将出现未定义
问题,因为这是异步的。勾选这个:
双向绑定,即[(ngModel)]
不支持安全导航操作符,因此您希望将其拆分为单向绑定和ngModelChange
:
这方面的道具:
这里有一个使用服务,我建议您这样做;) 我建议你看一看。我建议你使用承诺或观察。看来你想用承诺,所以我给你举个例子。另外,请考虑使用推荐的服务(如教程),但在这里我将使用您现有的代码:
//删除“this.itemPromise=”并只保留下面的代码
this.http.get('http://localhost:8080/dy/get-目标?id='+params['id'])
.toPromise()
.then(res=>res.json())
。然后(数据=>{
this.item=数据[0];
})
完成此操作后,将出现未定义
问题,因为这是异步的。勾选这个:
双向绑定,即[(ngModel)]
不支持安全导航操作符,因此您希望将其拆分为单向绑定和ngModelChange
:
这方面的道具:
这里有一个使用服务,我建议您这样做;) 我得到了这个错误,伙计,我能做什么错误:未捕获(承诺中):类型错误:无法读取未定义类型的属性'rewardName'。错误:无法读取对象处未定义的属性'rewardName'。View\u RewardseditComponent\u 0.co[as updateDirectives](ng:///AppModule/RewardseditComponent.ngfactory.js:1152:37)错过了obj将在此处作为数组。请尝试:
var-arr=JSON.parse(JSON);var-obj=arr[0];
以获取第一个元素。我收到了此错误dude错误:Uncaught(承诺中):SyntaxError:JSON中位置1处的意外标记o SyntaxError:JSON中位置1处的意外标记o JSON.parse()ngOnInit(){this.route.params.forEach(params=>{this.isEdition=!!params['id'];if(this.isEdition){//this.getDocument params['id'];this.itemPromise=this.http.get(“”+params['id']).map(res=>res.json()).toPromise();this.itemPromise.then((item:any)=>{console.log(item);var arr=json.parse(item);this.item=arr[0];return item;});如果“this.item”,您已经在解析json了是您要绑定以删除的对象var arr=JSON.parse(item);
并尝试this.item=item[0];
我收到此错误,伙计,我能做什么错误:未捕获(承诺中):TypeError:无法读取未定义TypeError的属性'rewardName':无法读取Object.View_RewardseditComponent_0.co[作为updateDirectives](ng:///AppModule/RewardseditComponent.ngfactory.js:1152:37)处未定义的属性'rewardName'。尝试:var arr=JSON.parse(JSON);var obj=arr[0];
获取第一个元素。我得到了这个错误dude error error error:Uncaught(承诺中):SyntaxError:JSON中的意外标记o位于位置1 SyntaxError:JSON.parse()ngOnInit()中的意外标记o位于位置1{this.route.params.forEach(params=>{this.isEdition=!!params['id'];if(this.isEdition){//this.getDocument(params['id']);this.itemPromise=this.http.get('+params['id']).map(res=>res json()).toPromise();this.itemPromise.then((item:any)=>{console.log(item);var arr=JSON.parse(item);this.item=arr[0];return item;});如果“this.item”是要删除的对象,则您已经在通过执行map(res=>res.JSON()
来解析JSON了var arr=JSON.parse(item);
并尝试this.item=item[0];
没问题,很高兴我能帮忙:)没问题,很高兴我能帮忙:)