मेरे पास जेसन प्रतिक्रिया है {"CustomerAccount":{"segment":"Enterprise","type":"Domestic"}} यह जेसन दूसरे यूआरएल से मिलता है। मैंने अब तक जो किया है वह इस जेसन को कोणीय के साथ निर्मित दूसरे यूआरएल पर भेजा गया है और पहले से ही कंसोल पर प्रिंट है।

मैंने <input type="text" class="form-control form-control-sm" id="nama-ocr" name="{{ segment }}"> का उपयोग करके कोणीय पृष्ठ में एक फॉर्म मान के रूप में जेसन को पॉप्युलेट करने का प्रयास किया

कोई इसे कैसे करें? मुझे Components.ts फाइल पर क्या रखना चाहिए?

इसके अलावा जीथब से dannyvankooten द्वारा populate.js की कोशिश की, लेकिन सिर्फ गैर-कोणीय html पर काम कर रहा है

धन्यवाद,

1
Bireon 20 अगस्त 2019, 23:06

2 जवाब

सबसे बढ़िया उत्तर

ठीक है अगर मैं सब कुछ सही ढंग से इकट्ठा कर रहा हूं तो आपके पास पहले से ही लौटा हुआ जेसन ऑब्जेक्ट है जो कंसोल पर लॉगिंग कर रहा है। मुझे लगता है कि आप कंसोल पर एसिंक रिटर्न वैरिएबल लॉगिंग कर रहे हैं। तो मैं उस एसिंक ऑब्जेक्ट को एक घटक ऑब्जेक्ट में संग्रहीत करने और आपकी एचटीएमएल फ़ाइल में मानों को मुद्रित करने में आपकी सहायता करने की कोशिश करने जा रहा हूं।

अपनी टाइपस्क्रिप्ट फ़ाइल में, आपको एक इंटरफ़ेस निर्यात करने की आवश्यकता होती है जो उस डेटा के समान संरचित होता है जिसे आप अपनी सेवा से प्राप्त करने की अपेक्षा करते हैं। अपने मॉड्यूल आयात के ठीक बाद इसे करें:

...
import { Component, OnInit } from '@angular/core';
...

export interface CustomerAccountObject {
   CustomerAccount: {
      segment: string;
      type: string;
   }
}

फिर बाद में अपनी ts फ़ाइल में, अपनी वस्तु घोषित करें:

export class SomeComponent implements OnInit {
   public customerAccountObject: CustomerAccountObject; // We're defining an object and giving it the Type of the interface we just exported.
   ...
}

अब जब आप एसिंक्स के माध्यम से अपने डेटा की सदस्यता लेते हैं, तो आप लौटाई गई जेसन ऑब्जेक्ट को अपने ग्राहक अकाउंटऑब्जेक्ट पर सेट करते हैं:

export class SomeComponent implements OnInit {
   public customerAccountObject: CustomerAccountObject;
   ...

   constructor(){}

   this.yourHttpService.yourMethodOrEndPoint(yourParams).subscribe((result) => {
      this.customerAccountObject = JSON.parse(result);
      console.log(this.customerAccountObject);
   });

अब एचटीएमएल पक्ष पर, आप अपने मूल्यों को प्रिंट कर सकते हैं, यह मानते हुए कि आप इनपुट वैल्यू को संपत्ति मूल्य लेना चाहते हैं:

<input type="text" class="form-control form-control-sm" id="nama-ocr" name="some name" value="{{ customerAccountObject.CustomerAccount.segment }}">

उम्मीद है ये मदद करेगा।

1
kenef 21 अगस्त 2019, 00:00

आप बस इसे ngModel, नमूना का उपयोग करके बाइंड कर सकते हैं:

<input type="text" class="form-control form-control-sm" id="nama-ocr" name="segment" [(ngModel)]="myJSON['CustomerAccount']['segment']">

जब आपका JSON प्राप्त या अपडेट किया जाता है तो यह स्वचालित रूप से इनपुट में मान को अपडेट कर देगा।

काम करने का नमूना: https://stackblitz.com/edit/angular-jqh7m6

1
Yash Krishan 20 अगस्त 2019, 23:45