2013-06-11 6 views
5

क्या नियंत्रकों की घोषणा के संबंध में एक स्थापित सम्मेलन है? (या मॉड्यूल-स्तर विन्यास का कोई भी रूप)।नियंत्रकों की घोषणा के लिए कोणीय सम्मेलन

var shoppingCartModule = angular.module('ShoppingCart',[]) 
shoppingCartModule.controller('CheckoutCtrl', function($scope) { ... }); 

बनाम

angular.module('ShoppingCart').controller('CheckoutCtrl', function($scope) { ... }); 

वहाँ दो दृष्टिकोणों के बीच किसी भी लाभ हैं:

मैं प्रयोग में दो अलग-अलग दृष्टिकोण देखा है? साथ ही, क्या कोई पसंदीदा (या उभरता हुआ) सम्मेलन है?

मैं कई मॉड्यूल के साथ गैर-तुच्छ ऐप्स के लिए विशेष रूप से लाभ में रूचि रखता हूं, जहां नियंत्रकों और मॉड्यूल की घोषणा कई फाइलों में फैली हो सकती है।

+0

मैं सिर्फ दूसरी विधि आप दे दी है आम तौर पर प्रयोग किया जाता है उल्लेख करना चाहते हैं उदाहरण के लिए jfiddles और टेरी का जवाब एक वास्तविक ऐप के लिए अधिक उन्मुख है। –

उत्तर

6
निजी तौर पर

मैं निम्न कार्य (के बाद कारणों):

angular.module('myApp', []); 

angular.module('myApp').controller('myController', ['$dependency', 'anotherDependency',  
    function($dependency, anotherDependency) { 
    ... 
    } 
]); 

कारण:

  • मैं कोशिश करते हैं और वैश्विक क्षेत्र
  • प्रचुरता से स्ट्रिंग समकक्ष के साथ निर्भरता की घोषणा आप सुरक्षित रूप से कम करें की अनुमति देता है से बचने आपका कोड
  • यह लगातार, साफ है और पूरी कहानी वहां है। उदाहरण के लिए। app.something के साथ आप नहीं जानते कि app 'angular.module (' myApp ') के साथ है। कुछ' यह स्पष्ट है कि यह क्या है।

संपादित: बस एक शांत वीडियो मैंने कुछ समय पहले यह बहुत ही विषय पर देखा याद - http://www.egghead.io/video/tTihyXaz4Bo। यदि आपने जॉन की साइट की जांच नहीं की है, तो मैं अत्यधिक अनुशंसा करता हूं। मैं उनके वीडियो दान से बहुत प्रभावित था, और आपको भी चाहिए!

+0

मैं इस विधि का भी उपयोग करता हूं। – finishingmove

+0

यह अच्छा लग रहा है लेकिन आप पहले शीर्ष पर angular.module क्यों घोषित कर रहे हैं? – bsiddiqui

+1

@bsiddiqui मैं निर्भर करता हूं कि 'angular.module (' myApp ', [' ui.bootstrap ']) पर निर्भरताएं इंजेक्ट करें; '। –

2

व्यक्तिगत रूप से, मैं यह एक छोटा सा क्लीनर इस तरह से हो पाते हैं:

angular. 
    module('myApp'). 
    controller('myController', ['$dependency', 'anotherDependency', myAppController]); 

function myAppController($dependency, anotherDependency) { 
    ... 
} 

या, और भी अधिक बेहतर:

var Controllers = {}; 

Controllers .someController = function myAppController($dependency, anotherDependency) { 
    ... 
} 

angular. 
    module('myApp'). 
    controller('myController', ['$dependency', 'anotherDependency', Controllers .someController]); 
संबंधित मुद्दे