2014-07-16 12 views
7

ओला!AngularJS वर्तमान कारखाना/सेवा का नाम प्राप्त करें

मैं सिर्फ कोणीय कारखानों और सेवाओं के साथ खेल रहा था और मैंने अभी देखा कि मुझे कारखाने/सेवा का वर्तमान नाम नहीं मिल सकता है। कम से कम मुझे इसके बारे में कोई संसाधन नहीं मिला।
उदाहरण के लिए, यह थोड़ा और स्पष्ट है कि मेरे पास एक कारखाना है, इस तरह;

.factory('GuessImAFactory', [function() { 

    var factoryName = this.yadayada.name; //<- This actually doesn't work, 
              //if you haven't guessed 

    //<--Some other code goes here--> 

    return something; 
}]) 

तो सवाल यह है कि किसी को भी यह पता चल जाएगा कि इसका नाम कैसे प्राप्त किया जाए?

+1

उपयोग के मामले में यह आप एक नाम है करने के लिए लाभ होगा कि क्या है? – charlietfl

+3

क्या इससे वाकई कोई फर्क पड़ता है? :) बात यह है कि मैं एक कारखाने में 3 बार की तरह स्ट्रिंग दोहरा रहा हूं और मुझे 200 कारखानों की तरह है, यह मुझे कुछ टाइपिंग बचाएगा और फिर भी फैक्टरिंग एक दुःस्वप्न होगा ... – TheCodeDestroyer

उत्तर

2

मुझे नहीं लगता कि यह संभव है। कॉलबैक फ़ंक्शन में आपको कारखाने का वास्तविक उदाहरण नहीं मिल सकता है क्योंकि आप इसे उस स्थान पर सही तरीके से परिभाषित कर रहे हैं। अन्य कार्यों में, यह अभी तक नहीं बनाया गया है।

हालांकि, इस के लिए सरल समाधान का कठिन कोड होगा यह .. जब से तुम शायद गतिशील कारखानों के लिए नहीं होगा, तो आप सिर्फ बस कह सकते हैं

var factoryName = 'GuessImAFactory'; 

और इसका इस्तेमाल करते हैं, यदि आवश्यक।

+0

ऐसा कुछ ऐसा था। .. किंडा को डर था कि यह एकमात्र समाधान था: / – TheCodeDestroyer

0

प्रयास करें यह एक: factoryObject.__proto__.constructor.name

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