SORU
7 Aralık 2012, Cuma


hakkında karıştı hizmet vs fabrika

Anladığım kadarıyla, bir denetleyici içine alacak olan bir nesne, bir fabrika içinde zaman. Ne zaman nesne ile uğraşıyorum bir hizmet içinde this kullanma ve geri dönen bir şey.

Bir hizmet olduğunu sandımher zaman bir tekve buyeni fabrika nesnealdığı her denetleyicisi enjekte. Meğer ancak, bir fabrika nesnesi tek bir de?

Örnek kod göstermek için:

var factories = angular.module('app.factories', []);
var app = angular.module('app',  ['ngResource', 'app.factories']);

factories.factory('User', function () {
  return {
    first: 'John',
    last: 'Doe'
  };
});

app.controller('ACtrl', function($scope, User) {
  $scope.user = User;
});

app.controller('BCtrl', function($scope, User) {
  $scope.user = User;
});

BCtrl user.first da değişmiş olduğu ortaya çıktı ACtrl user.first örneğin User değişiyor bir singleton?

Benim tahminlerime göre yeni bir örneğini bir fabrika ile bir denetleyicisi olarak enjekte edildi?

CEVAP
7 Aralık 2012, Cuma


Tüm açısal hizmetleri tekiz:

Docs (bkzTekiz gibi hizmetler): https://docs.angularjs.org/guide/services

Son olarak, önemli Açısal hizmetleri uygulama tekiz olduğunu fark etmek. Bu enjektör başına verilen hizmet yalnızca bir örneği var demektir.

Temelde hizmet ve fabrika arasındaki fark aşağıdaki gibidir:

app.service('myService', function() {

  // service is just a constructor function
  // that will be called with 'new'

  this.sayHello = function(name) {
     return "Hi "   name   "!";
  };
});

app.factory('myFactory', function() {

  // factory returns an object
  // you can run some code before

  return {
    sayHello : function(name) {
      return "Hi "   name   "!";
    }
  }
});

Yaklaşık $sağlayın bu sunum kontrol edin: http://slides.wesalvaro.com/20121113/#/

Slaytlar, AngularJs konusunda hizmet veriyor. biri kullanılmıştır bunlar: http://blog.angularjs.org/2012/11/more-angularjs-meetup-videos.html

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abbeydabby0277's channel

    Abbeydabby02

    9 ŞUBAT 2012
  • HDstarcraft

    HDstarcraft

    12 Mayıs 2009
  • Perihelion

    Perihelion

    23 NİSAN 2008