यह एक अजीब मुद्दा है जिसमें @ टाइपस्क्रिप्ट-एस्लिंट/नो-असुरक्षित-असाइनमेंट शामिल है। मेरे पास एक टाइपस्क्रिप्ट फ़ाइल थी, इसे 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 फ़ाइल में कॉपी और पेस्ट करता हूं, जो पुराने मॉडल के समान फ़ोल्डर में मौजूद है। >. क्या कोई जानता है कि यह कैसे/क्यों हो रहा है?

0
user1100412 26 जिंदा 2022, 20:40
क्या ESlint सर्वर को पुनरारंभ करने के बाद त्रुटि गायब हो जाती है?
 – 
CcmU
26 जिंदा 2022, 20:53
ईमानदारी से, ऐसा नहीं होता है।
 – 
user1100412
26 जिंदा 2022, 20:55

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';

उस फ़ाइल को सहेजने के बाद, मैं न्यूमॉडल पर वापस गया, उस लाइन पर गया जिसमें एस्लिंट त्रुटि थी, इसे केवल इसलिए संशोधित किया ताकि यह एक बदलाव को चैनल कर सके, और फिर त्रुटि गायब हो गई! यह बस हो सकता है कि त्रुटि को दूर करने के लिए उस वर्ग के साथ उस फ़ाइल का संदर्भ होना चाहिए।

मुझे इसे कुछ और बार सत्यापित करने की आवश्यकता है, लेकिन अगर यह अभी भी काम करता है, तो मैं इसे सभी के अनुसरण के लिए एक उत्तर के रूप में चिह्नित करूंगा।

1
user1100412 26 जिंदा 2022, 21:03

मुझे लगता है कि जब तक आप अपने उपयुक्त मॉड्यूल में अपना नया घटक "टेस्टऑब्जेक्ट" घोषित नहीं करते हैं, तब तक फ़ाइल कोड कभी-कभी कुछ त्रुटियां दिखा सकता है।

क्या आप परीक्षण कर सकते हैं कि जब आप मॉड्यूल के घोषणा अनुभाग में "टेस्टऑब्जेक्ट" जोड़ते हैं तो नई फाइल कहां है, त्रुटियां गायब हो जाती हैं?

संपादित करें: मैं 2 अलग-अलग कारणों/कारणों में सोच सकता था:

  1. पुरानी मॉडल फ़ाइल का नाम "test-object.ts" था और वर्ग के नाम ("TestObject") से मेल खाता था, लेकिन नई फ़ाइल (new-object.ts") "TestObject" से मेल नहीं खाती।

  2. आप पुराने मॉडल को टेस्टऑब्जेक्ट और नया भी कह रहे हैं। फिर, कोणीय प्रणाली एक समस्या "पीड़ित" होती है, इसलिए यह उस त्रुटि को दिखा रही है।

क्या इस नए उत्तर में से कोई भी आपको समझ में आता है? क्या आप इसका परीक्षण कर सकते हैं?

0
Juan Vicente Berzosa Tejero 26 जिंदा 2022, 20:57
यह एक घटक नहीं है, यह एक साधारण model.ts फ़ाइल है।
 – 
user1100412
26 जिंदा 2022, 20:45
ओह! मुझे एहसास नहीं हुआ! क्षमा करें, मैं अपना उत्तर संपादित करने जा रहा हूं, thxs!
 – 
Juan Vicente Berzosa Tejero
26 जिंदा 2022, 20:47