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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009