दिलचस्प पोस्ट
एक एस्प बटन पर पोस्टबैक अक्षम कैसे करें एंड्रॉइड यूएसबी होस्ट और छुपे हुए डिवाइस सरणी में एकमात्र अनपेक्षित तत्व ढूंढें जावास्क्रिप्ट का उपयोग कर आरएसएस फ़ीड को कैसे पार्स करना है? पत्र द्वारा पाठ पत्र दिखाएं जब निष्पादित वर्ग के स्थैतिक ब्लॉक होता है? सी में कथनों को पकड़ने का प्रयास करें वास्तविक प्रिंट करने योग्य क्षेत्र कैसे खोजें? (PrintDocument) एंड्रॉइड स्टूडियो: यूटिफ़ -8 एन्कोडिंग के लिए अनुपयोगी चरित्र मेथमैटिका में रनटाइम त्रुटियों के हिमस्खलन को रोकना आप पायथन में बाइनरी लीटरल्स कैसे व्यक्त करते हैं? डेटाबेस में ईमेल पते की अधिकतम लंबाई क्या है? कैसे jQuery के गोल करने के लिए मूल्य नहीं लौटने के लिए। विथ () से? MySQL पिवोट टेबल कॉलम डेटा पंक्तियों के रूप में उपयोगकर्ता नियंत्रण, कस्टम नियंत्रण और घटक के बीच अंतर क्या है?

कोणीय 2: त्रुटि: प्रकार त्रुटि: संपत्ति '…' की पढ़ाई नहीं की जा सकती अनिर्धारित

मैंने अपने angular2 कोड टुकड़ा के plunker संलग्न है मैं अपने जेएसओएन से एक फ़ील्ड प्रिंट करना चाहता हूं लेकिन प्रिंट करने में असमर्थ हूं क्योंकि शुरू में मेरी ऑब्जेक्ट रिक्त है और यह वादा किया जाता है।

यह मेरा घटक फ़ाइल है

import {Component, NgModule, OnInit} from '@angular/core' import {BrowserModule} from '@angular/platform-browser' class MyData { xyz : MySubData; } class MySubData { name : string; } @Component({ selector: 'my-app', template: ` <div> <h2>Hello {{name}}</h2> {{abc.xyz.name}} </div> `, }) export class App implements OnInit { abc : MyData = null; constructor() { this.name = 'Angular2' } ngOnInit() { setTimeout(() => { this.abc = new MyData(); this.abc.xyz = new MySubData(); this.abc.xyz.name = "Binita"; }, 2000); } } @NgModule({ imports: [ BrowserModule ], declarations: [ App ], bootstrap: [ App ] }) export class AppModule {} 

जब मैं अपने टेम्प्लेट से {{abc.xyz.name}} रेखा निकाल रहा हूं तो यह ठीक चल रहा है।

मेरे पास मेरे कोड में समय निर्धारित है क्योंकि मुझे अपना डेटा वादा से मिल रहा है (यानी अतुल्यकालिक कॉल)।

मैं प्रारंभिक रूप में abc null रूप में समझ सकता हूँ, मेरा कोड abc.xyz.name को खोजने में असमर्थ है। लेकिन मैं किसी भी स्थिति को जांचना नहीं चाहता हूं क्योंकि मेरे पास एक जेएसओएन के अंदर कई संपत्ति है और प्रत्येक संपत्ति के लिए अगर हालत को लिखना संभव नहीं है।

पहले कोण 1 में अगर एबीसी शून्य है तो यह स्वतः रिक्त स्ट्रिंग के साथ इसे बदल देगा। मैं angular2 में एक ही बात करना चाहता हूँ। कृपया सुझाव दे।

नीचे लंगर है

https://plnkr.co/edit/u1NqNF0penz7OS55QmoU?p=preview

वेब के समाधान से एकत्रित समाधान "कोणीय 2: त्रुटि: प्रकार त्रुटि: संपत्ति '…' की पढ़ाई नहीं की जा सकती अनिर्धारित"

ऐसा इसलिए है क्योंकि abc टेम्पलेट रेंडरिंग के समय में अनिर्धारित है। जब तक HTTP कॉल पूरा नहीं हो तब तक आप "सुरक्षित" टेम्पलेट "सुरक्षित नेविगेशन ऑपरेटर ( ? ) का उपयोग कर सकते हैं:

 {{abc?.xyz?.name}} 

आप यहां सुरक्षित नेविगेशन ऑपरेटर के बारे में अधिक पढ़ सकते हैं।

अद्यतन करें:

सुरक्षित नेविगेशन ऑपरेटर को एरे में उपयोग नहीं किया जा सकता है, आपको इस समस्या को दूर करने के लिए NgIf निर्देश का लाभ उठाना होगा:

 <div *ngIf="arr && arr.length > 0"> {{arr[0].name}} </div> 

यहां NgIf निर्देश के बारे में और पढ़ें।