मेरे विचार में, मैं प्रस्तुत करना चाहता हूँकोणीय जेएस में उपयोगकर्ता परिभाषित कार्यों को कहां रखा जाए?</p> <pre><code><p> {{ say() }} </p> </code></pre> <p><code>say</code> जहां इस तरह के रूप में परिभाषित किया गया है:
say = function() {
return "Hello World";
}
मैं अपने नियंत्रक में परिभाषित कर सकते हैं:
function TestCtrl($scope) {
$scope.say = function() { ... };
}
लेकिन तब यह है केवल उस नियंत्रक के भीतर सुलभ।
यदि मैं कोणीय फ़ाइल संरचना के बाहर फ़ंक्शन को परिभाषित करता हूं, तो यह कुछ भी प्रस्तुत नहीं करता है। वैसे ही अगर मैं इसे अपने controllers.js
फ़ाइल में परिभाषित करता हूं, लेकिन नियंत्रक फ़ंक्शन स्कोप के बाहर।
मेरे फ़ंक्शन को रखने के लिए उचित जगह कहां है, तो मैं इसे किसी भी नियंत्रक में प्रस्तुत कर सकता हूं?
बहुत बढ़िया ... मैं इसे सेवाओं के साथ रहने की उम्मीद कर रहा था, लेकिन –
में इसे जोड़ने के लिए सिंटैक्स नहीं मिला, बस एक वैकल्पिक वाक्यविन्यास (मैं 'कारखाना' के बजाय 'सेवा देखना/पढ़ना पसंद करता हूं' अगर मुझे केवल एक कन्स्ट्रक्टर फ़ंक्शन की आवश्यकता है): । सेवा ('myService', function() { this.say = function() {वापसी "हैलो वर्ल्ड";} }); –
एक उचित सेवा के साथ "समस्या" यह है कि हर बार जब आप सेवा का उपयोग करते हैं, तो आपको उस सेवा का एक नया उदाहरण मिलता है। इस मामले में यह सबसे अच्छा विचार नहीं हो सकता है। – Spock