2015-01-15 5 views
7

मान लीजिए मैं इस तरह एक बड़ा फ़ाइल में एक वर्ग:विभाजन ऊपर वर्ग परिभाषा 6/सद्भाव

export default class { 
    constructor() {} 
    methodA() {} 
    methodB() {} 
    methodC() {} 
} 

और मैं वर्ग परिभाषा ताकि methodA, methodB, और methodC प्रत्येक को तोड़ने के लिए चाहते हैं अपनी अलग फाइलों में परिभाषित किया गया। क्या यह संभव है?

उत्तर

6

रूप class बस हमेशा की तरह प्रोटोटाइप कार्यप्रवाह के लिए वाक्य रचना चीनी माना जाता है आप में सक्षम होना चाहिए:

import methodOne from 'methodOne' 
import methodTwo from 'methodTwo' 

class MyClass { 
    constructor() { 
    } 
} 

Object.assign(MyClass.prototype, {methodOne, methodTwo}) 

export default MyClass 
+0

लेकिन यदि मुझे संपत्तियों के साथ विधियां चाहिए तो क्या होगा? methodOne (ए, बी) – marschro

+0

'methodOne'' methodTwo' का उपयोग कैसे करें? – GeminiYellow

1

@elclanrs एक सही जवाब दे दिया, लेकिन मैं इसे संशोधित करेगा के उपयोग के लिए अनुमति देने के लिए this। मुझे यह भी लगता है कि यह अधिक पठनीय है।

import methodOne from 'methodOne' 
import methodTwo from 'methodTwo' 

class MyClass { 
    constructor() { 
    this.methodOne = methodOne.bind(this) 
    this.methodTwo = methodTwo.bind(this) 
    } 
} 

export default MyClass 

सुझाव: हालांकि अगर अपनी कक्षा इतनी बड़ी है कि यह कई फ़ाइलों में विभाजित किया जा रहा वारंट, एक बेहतर समाधान कई वर्गों में वर्ग को विभाजित करने के हो सकता है।

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