में कस्टम Async Validator को कैसे कार्यान्वित करें 1. क्या यह अभी तक कोणीय द्वारा समर्थित है? this खुला मुद्दाकोणीय 2/4/5
2. देख अगर ऐसा है, तो क्या नीचे
export class someClass{
myForm:ControlGroup;
constructor(public http:Http, public formBuilder:FormBuilder)
this.myForm = formBuilder.group({
ImageId: ["", Validators.required, this.asynValidator]
});
asyncValidator(control: Control): {[key: string]: any} {
return new Promise (resolve => {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.get('http://localhost/ImageIdValidate?id='+ control.value, {headers:headers})
.map(res => res.json())
.subscribe(data => {
console.log(data);
if(data != null) {
resolve({"duplicate": true})
}
else resolve(null);
})
});
});
}
}
कोड में गलत है यह भी एक सर्वर अनुरोध नहीं है।
असल में, जावास्क्रिप्ट काम करता है। जब आप किसी विधि का संदर्भ देते हैं तो आप जिस वस्तु को संलग्न करते हैं उसे खो देते हैं। आप बाइंड विधि का उपयोग करके इसे मजबूर कर सकते हैं ... –
जब मुझे लगता है कि मैं किसी दिन प्रो होने के लिए अपने रास्ते पर हूं, तो इस तरह की चीजें मुझे हंसती हैं। लेकिन वैसे भी, [यह सवाल] है (http://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context-inside-a-callback) संबंधित? –
वास्तव में जावास्क्रिप्ट में ओओपी जावा और सी ++ जैसी भाषाओं के अलग-अलग सामने है। कक्षा के कीवर्ड के साथ, आप वास्तव में भाषाओं के साथ "सत्य" कक्षाओं को परिभाषित नहीं करते हैं। जावास्क्रिप्ट usés प्रोटोटाइप आधारित ओओपी। हां आपके द्वारा उद्धृत प्रश्न इस समस्या से संबंधित है। –