खोज…


वाक्य - विन्यास

  • स्थिरांक (नाम, मूल्य);
  • मूल्य (नाम, मूल्य);
  • कारखाना (नाम, $ getFn);
  • सेवा (नाम, निर्माता);
  • प्रदाता (नाम, प्रदाता);

टिप्पणियों

प्रदाता सिंगलटन ऑब्जेक्ट्स हैं जिन्हें इंजेक्ट किया जा सकता है, उदाहरण के लिए, अन्य सेवाओं, नियंत्रकों और निर्देशों में। सभी प्रदाताओं को विभिन्न "व्यंजनों" का उपयोग करके पंजीकृत किया जाता है, जहां Provider सबसे अधिक लचीला होता है। सभी संभव व्यंजनों हैं:

  • लगातार
  • मूल्य
  • फ़ैक्टरी
  • सेवा
  • प्रदाता

सेवाएँ, फैक्ट्रीज़ और प्रोवाइडर्स सभी आलसी इनिशियलाइज़्ड हैं, कंपोनेंट को इनिशियलाइज़ तभी किया जाता है जब एप्लीकेशन इस पर निर्भर हो।

सज्जाकार निकटता से संबंधित हैं। सज्जाकार इसका उपयोग व्यवहार या ओवरराइड (इसके कुछ हिस्सों) को बदलने के लिए सेवा या कारखाने के निर्माण को बाधित करने के लिए करते हैं।

लगातार

Constant कॉन्फ़िगरेशन और रन चरणों दोनों में उपलब्ध है।

angular.module('app',[])
  .constant('endpoint', 'http://some.rest.endpoint') // define
  .config(function(endpoint) {
    // do something with endpoint
    // available in both config- and run phases
  }) 
  .controller('MainCtrl', function(endpoint) {       // inject
    var vm = this;
    vm.endpoint = endpoint;                          // usage
  });

<body ng-controller="MainCtrl as vm">
  <div>endpoint = {{ ::vm.endpoint }}</div>
</body>

endpoint = http: //some.rest.endpoint

मूल्य

Value कॉन्फ़िगरेशन और रन चरणों दोनों में उपलब्ध है।

angular.module('app',[])
  .value('endpoint', 'http://some.rest.endpoint') // define
  .run(function(endpoint) {
    // do something with endpoint
    // only available in run phase
  }) 
  .controller('MainCtrl', function(endpoint) {    // inject
    var vm = this;
    vm.endpoint = endpoint;                       // usage
  }); 

<body ng-controller="MainCtrl as vm">
  <div>endpoint = {{ ::vm.endpoint }}</div>
</body>

endpoint = http: //some.rest.endpoint

फ़ैक्टरी

Factory रन फेज में उपलब्ध है।

फ़ैक्टरी नुस्खा शून्य या अधिक तर्कों के साथ फ़ंक्शन का उपयोग करके एक नई सेवा का निर्माण करता है (ये अन्य सेवाओं पर निर्भरताएं हैं)। इस फ़ंक्शन का रिटर्न मान इस रेसिपी द्वारा बनाया गया सेवा उदाहरण है।

फैक्ट्री किसी भी प्रकार की एक सेवा बना सकती है, चाहे वह एक आदिम, वस्तु शाब्दिक, फ़ंक्शन, या यहां तक कि एक कस्टम प्रकार का उदाहरण हो।

angular.module('app',[])
  .factory('endpointFactory', function() {
    return {
      get: function() {
        return 'http://some.rest.endpoint';
      }
    };
  })
  .controller('MainCtrl', function(endpointFactory) {
    var vm = this;
    vm.endpoint = endpointFactory.get();
  });

<body ng-controller="MainCtrl as vm">
  <div>endpoint = {{::vm.endpoint }}</div>
</body>

endpoint = http: //some.rest.endpoint

सेवा

Service रन चरण में उपलब्ध है।

सर्विस रेसिपी वैल्यू या फैक्ट्री रेसिपी की तरह ही एक सर्विस का निर्माण करती है, लेकिन नए ऑपरेटर के साथ कंस्ट्रक्टर को इनवाइट करने से ऐसा होता है। कंस्ट्रक्टर शून्य या अधिक तर्क ले सकता है, जो इस प्रकार के उदाहरण द्वारा आवश्यक निर्भरता का प्रतिनिधित्व करते हैं।

angular.module('app',[])
  .service('endpointService', function() {
    this.get = function() {
      return 'http://some.rest.endpoint';
    };
  })
  .controller('MainCtrl', function(endpointService) {
    var vm = this;
    vm.endpoint = endpointService.get();
  });

<body ng-controller="MainCtrl as vm">
  <div>endpoint = {{::vm.endpoint }}</div>
</body>

endpoint = http: //some.rest.endpoint

प्रदाता

Provider कॉन्फ़िगरेशन और रन चरणों दोनों में उपलब्ध है।

प्रदाता नुस्खा को एक कस्टम प्रकार के रूप में परिभाषित किया जाता है जो $get विधि को लागू करता है।

आपको प्रदाता नुस्खा का उपयोग केवल तब करना चाहिए जब आप एप्लिकेशन-वाइड कॉन्फ़िगरेशन के लिए एक एपीआई को उजागर करना चाहते हैं जो कि आवेदन शुरू होने से पहले किया जाना चाहिए। यह आमतौर पर केवल पुन: प्रयोज्य सेवाओं के लिए दिलचस्प है जिनके व्यवहार को अनुप्रयोगों के बीच थोड़ा भिन्न होने की आवश्यकता हो सकती है।

angular.module('app',[])
  .provider('endpointProvider', function() {
    var uri = 'n/a';
    
    this.set = function(value) {
      uri = value;
    };

    this.$get = function() {
      return {
        get: function() {
          return uri;
        }
      };
    };
  })
  .config(function(endpointProviderProvider) {
    endpointProviderProvider.set('http://some.rest.endpoint');
  })   
  .controller('MainCtrl', function(endpointProvider) {
    var vm = this;
    vm.endpoint = endpointProvider.get();
  }); 

<body ng-controller="MainCtrl as vm">
  <div>endpoint = {{::vm.endpoint }}</div>
</body>

endpoint = http: //some.rest.endpoint

config चरण के बिना परिणाम होगा

समापन बिंदु = एन / ए



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow