Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular 2中绑定ngmodel中的json值_Javascript_Java_Json_Angular_Typescript - Fatal编程技术网

Javascript 在angular 2中绑定ngmodel中的json值

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",

这是我的json响应。如何在angular 2中绑定
[(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];
没问题,很高兴我能帮忙:)没问题,很高兴我能帮忙:)