2013-12-12 12 views
6

यहां कोई नोब प्रश्न नहीं है। जब मैं बाहरी मॉड्यूल का उपयोग कर रहा हूं तो मैं उसी निर्देशक नाम संघर्ष से कैसे बचूं। वर्तमान में मैं angular bootstrap मॉड्यूल का उपयोग कर रहा हूं, लेकिन वहां से कैरोसेल का उपयोग करने के लिए बस एक और module डाउनलोड किया। दोनों के पास एक ही निर्देशक नाम carousel हैं और इससे मुझे समस्याएं आती हैं यदि मैं इन दोनों को अपने मॉड्यूल में शामिल करता हूं।angularjs समान निर्देश नाम संघर्ष

var app = angular.module('text', ['fundoo.directives', 'ui.bootstrap']); 

इसके लिए सबसे अच्छा समाधान क्या होगा?

+0

मैं कोणीय बूटस्ट्रैप के भीतर एक के साथ परस्पर विरोधी 'मैच' नामक एक कस्टम के निर्देश के साथ एक ही मुद्दा था। मैंने यह सुनिश्चित करने के लिए प्रोजेक्ट के उपसर्ग के साथ अपने निर्देशों का नाम बदल दिया है कि वे अद्वितीय हैं। –

+1

[यूआई बूटस्ट्रैप] (http://angular-ui.github.io/bootstrap/) चलो आप केवल अपने मॉड्यूल के साथ अपना खुद का संस्करण बनाते हैं। या बस अपने पुस्तकालयों में से किसी एक में 'कैरोसेल' निर्देश का नाम बदलें। – Stewie

+0

क्या आप "मुझे समस्याएं पैदा करने" को स्पष्ट कर सकते हैं? –

उत्तर

1

यदि आपके पास केवल निर्देशों के बीच एक नाम संघर्ष है, तो मॉड्यूल को उस कैरोसेल के साथ सूचीबद्ध करें जिसे आप पहली निर्भरता के रूप में उपयोग करना चाहते हैं। my test से मैं निष्कर्ष निकालता हूं कि एक ही नाम के साथ अतिरिक्त निर्देशों को अनदेखा किया जाता है (पहला जीतता है)।

1

अगर मैं तुम्हें थे चाहते हैं मैं अपने कोणीय निर्देशों/सेवाओं/आदि के लिए एक उपसर्ग का उपयोग करेंगे कि क्या मैं हाल ही में कर दिया गया है और मैं किसी भी टकरा मुद्दों जरूरत नहीं है।

वैकल्पिक रूप से, कुछ और वर्बोज़ या विशिष्ट के लिए प्रश्न में निर्देश का नाम बदलें।

5

वास्तव में सभी निर्देश क्रियान्वित कर रहे हैं, तो आप priority paramenter साथ निष्पादन के आदेश को कॉन्फ़िगर कर

प्राथमिकता:

जब एक से अधिक निर्देशों एक भी डोम तत्व पर परिभाषित कर रहे हैं, कभी कभी यह आवश्यक है आदेश निर्दिष्ट करने के लिए जिसमें निर्देश लागू होते हैं। प्राथमिकता का उपयोग उनके संकलन कार्यों को कॉल करने से पहले निर्देशों को क्रमबद्ध करने के लिए किया जाता है। प्राथमिकता को एक संख्या के रूप में परिभाषित किया जाता है। अधिक संख्यात्मक प्राथमिकता वाले निर्देश पहले संकलित किए जाते हैं। प्री-लिंक फ़ंक्शंस प्राथमिकता क्रम में भी चलाए जाते हैं, लेकिन पोस्ट-लिंक फ़ंक्शन रिवर्स ऑर्डर में चलाए जाते हैं। समान प्राथमिकता वाले निर्देशों का क्रम अनिर्धारित है। डिफ़ॉल्ट प्राथमिकता 0.

है और तुम भी कोणीय बता वर्तमान तत्व में निर्देश पाचन को रोकने के लिए कर सकते हैं जब भी आप एक निर्देश terminal पैरामीटर true

https://docs.angularjs.org/api/ng/service/$compile

फिर भी करने के लिए setted है कि लगता है प्राथमिकताओं को बनाने के बारे में नीलामी समस्या के लिए थोड़ा अधिक जटिल है, इसलिए मैं @ एनिको की नीलामी

और साथ ही, यह जांचने के लिए एक प्लंकर है कि कोणीय निष्पादन दोनों

http://plnkr.co/edit/e66I71UKp5mnurcjVzN4

+0

शैलियों के लिए धन्यवाद @ फर्डिन (; – aemonge

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