2012-05-04 29 views
8

फेंक दी गई है, मैं अपने कोड में ace.js संपादक के लिए रेंज ऑब्जेक्ट बनाने की कोशिश कर रहा हूं, लेकिन यह काम नहीं कर रहा है। यह एक तरह से असफल रहा है जिसे मैं समझ नहीं सकता। the Ace documentation में, यह निर्माता है:जब मैं ace.js में रेंज ऑब्जेक्ट बनाने का प्रयास करता हूं, तो "अवैध कन्स्ट्रक्टर" त्रुटि

new Range(Number startRow, 
      Number startColumn, 
      Number endRow, 
      Number endColumn) 

लेकिन जब मैं अपने कोड में इस प्रयास करें:

new Range(0, 0, 0, 1) 

यह एक Uncaught TypeError: Illegal constructor त्रुटि को जन्म देती है। इस व्यवहार का कारण क्या है, और यह दस्तावेज़ीकरण से मेल नहीं खाता है?

उत्तर

14

Range एक मूल प्रकार है जो अधिकांश ब्राउज़र है जिसे आप तुरंत नहीं कर सकते हैं। मैं ऐस से वास्तव में परिचित नहीं हूं, लेकिन मुझे लगता है कि वे कुछ प्रकार के नेमस्पेसिंग का उपयोग करते हैं ताकि आप new Ace.Range() जैसे कुछ कर सकें।

संपादित करें: ऐसा लगता है कि वे, CommonJS उपयोग कर रहे हैं तो आप विधि और उर्फ ​​यह जैसे आप चाहें आयात कर सकते हैं:

var Range = require('ace/range').Range, 
    mine = new Range(0,0,10,0); 
+3

है कि यह था के साथ बदलें require('ace/range').Range, सिर्फ इतना है कि मैं मैं कॉमनजेएस का उपयोग नहीं कर रहा हूं, इसलिए समाधान 'var Range = ace.require (' ace/range ') था। श्रेणी बहुत बहुत धन्यवाद। –

संबंधित मुद्दे

 संबंधित मुद्दे