टाइपप्रति: संदर्भित Resig के विस्तार

वोट
2

मैं Resig के उपयोग करता है 'का विस्तार' मौजूदा कोड को संदर्भित कर रहा हूँ, लेकिन मैं त्रुटियों की एक गुच्छा हो रही है

------ test.ts --------

/// <reference path=myclass.js />
var m = new MyClass (3);

------ myclass.js --------

/// <reference path=class.js />

var MyClass = Class.extend({

    init: function (i)
    {
        this.i = i;
    },
})

------ class.js --------

(copied from http://ejohn.org/blog/simple-javascript-inheritance/)

त्रुटियों:

Supplied parameters do not match any signature of call target
The name 'Class' does not exist in the current scope
The property 'extend' does not exist on value of type '() => void'
The name 'Class' does not exist in the current scope

मैं पता है कि अंत में मैं टाइपप्रति का विस्तार आधारित कोड को फिर से लिखने के लिए चाहते हैं, लेकिन तब तक, मैं कैसे यह नए कोड से संदर्भ करते हैं?

कारण है कि यह मौजूदा जावास्क्रिप्ट कोड में टाइप त्रुटियों के बारे में शिकायत कर रहा है - मैं इस भीख माँगता गहरा सवाल लगता है?

02/10/2012 को 17:47
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
3

टाइपप्रति आम तौर पर बाहरी जावास्क्रिप्ट कोड से प्रकार अनुमान नहीं लगा सकता।

आप 'का विस्तार' कोड आप ताकि टाइपप्रति में कॉल कर रहे हैं के आकार की घोषणा जानता है कि किस प्रकार के आकार है की आवश्यकता होगी:

declare class Class {
    static extend(body: any);
}

आप प्रदर्शित कर सकते हैं, जो सीधे आपकी स्रोत फ़ाइल में (अगर आप सिर्फ एक एकल फ़ाइल परियोजना है), या अधिक ठीक से, एक '.d.ts' फ़ाइल जो आप अपने स्रोत फ़ाइलों से संदर्भ में।

02/10/2012 को 18:23
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more