यह एक अजीब मुद्दा है जिसमें @ टाइपस्क्रिप्ट-एस्लिंट/नो-असुरक्षित-असाइनमेंट शामिल है। मेरे पास एक टाइपस्क्रिप्ट फ़ाइल थी, इसे oldmodel.ts कहते हैं, और मेरे VSCode IDE में, जब मैं फ़ाइल लोड करता हूँ, तो निम्न मेरे ESlint VSC टर्मिनल में कोई त्रुटि उत्पन्न नहीं करता है:
export interface ITestObject {
createDate?: Date,
}
export class TestObject implements ITestObject {
createDate?: Date;
constructor(options: ITestObject = {}) {
this.createDate = (options.createDate instanceof Date || !isNaN(Date.parse(options.createDate || ''))) ? new Date(options.createDate || '') : undefined;
}
}
अगर मैं इसी सटीक कोड को नई बनाई गई newmodel.ts फ़ाइल में कॉपी और पेस्ट करता हूं, जो पुराने मॉडल के समान फ़ोल्डर में मौजूद है। >. क्या कोई जानता है कि यह कैसे/क्यों हो रहा है?
2 जवाब
ठीक है, मुझे याद नहीं है कि किसने यह सुझाव दिया था क्योंकि उन्होंने अपनी टिप्पणी हटा दी थी, लेकिन मैंने उनके सुझाव का पालन किया और यह काम करने लगा। तो मैंने जो किया वह newmodel.ts फ़ाइल में था, मैंने एक और वर्ग बनाया जो संबंधित वर्ग को संदर्भित करता है:
interface ISampleResponse {
testObject?: TestObject
}
export class SampleResponse implements ISampleResponse {
testObject?: TestObject
constructor(options: ISampleResponse = {}) {
this.testObject = new TestObject(options.testObject);
}
}
फिर, एक अन्य फ़ाइल में, उदाहरण के लिए एक इंजेक्शन योग्य सेवा कहें, मैं फ़ाइल में उस प्रतिक्रिया वर्ग को आयात करने के लिए आगे बढ़ा:
import { SampleResponse } from '../models/newmodel.ts';
उस फ़ाइल को सहेजने के बाद, मैं न्यूमॉडल पर वापस गया, उस लाइन पर गया जिसमें एस्लिंट त्रुटि थी, इसे केवल इसलिए संशोधित किया ताकि यह एक बदलाव को चैनल कर सके, और फिर त्रुटि गायब हो गई! यह बस हो सकता है कि त्रुटि को दूर करने के लिए उस वर्ग के साथ उस फ़ाइल का संदर्भ होना चाहिए।
मुझे इसे कुछ और बार सत्यापित करने की आवश्यकता है, लेकिन अगर यह अभी भी काम करता है, तो मैं इसे सभी के अनुसरण के लिए एक उत्तर के रूप में चिह्नित करूंगा।
मुझे लगता है कि जब तक आप अपने उपयुक्त मॉड्यूल में अपना नया घटक "टेस्टऑब्जेक्ट" घोषित नहीं करते हैं, तब तक फ़ाइल कोड कभी-कभी कुछ त्रुटियां दिखा सकता है।
क्या आप परीक्षण कर सकते हैं कि जब आप मॉड्यूल के घोषणा अनुभाग में "टेस्टऑब्जेक्ट" जोड़ते हैं तो नई फाइल कहां है, त्रुटियां गायब हो जाती हैं?
संपादित करें: मैं 2 अलग-अलग कारणों/कारणों में सोच सकता था:
पुरानी मॉडल फ़ाइल का नाम "test-object.ts" था और वर्ग के नाम ("TestObject") से मेल खाता था, लेकिन नई फ़ाइल (new-object.ts") "TestObject" से मेल नहीं खाती।
आप पुराने मॉडल को टेस्टऑब्जेक्ट और नया भी कह रहे हैं। फिर, कोणीय प्रणाली एक समस्या "पीड़ित" होती है, इसलिए यह उस त्रुटि को दिखा रही है।
क्या इस नए उत्तर में से कोई भी आपको समझ में आता है? क्या आप इसका परीक्षण कर सकते हैं?
संबंधित सवाल
नए सवाल
angular
Google से वेब फ्रेमवर्क के बारे में प्रश्न इस टैग का उपयोग कोणीय प्रश्नों के लिए करें जो एक व्यक्तिगत संस्करण के लिए विशिष्ट नहीं हैं। पुराने AngularJS (1.x) वेब ढांचे के लिए, कोणीयज टैग का उपयोग करें।