SORU
13 AĞUSTOS 2012, PAZARTESİ


AngularJS genel değişkenler

Bir denetleyici kapsamında bir değişken başlatılıyor olduğum bir sorunum var. Bir kullanıcı oturum açtığında başka bir denetleyici içinde değişmiş olur. Bu değişken gezinti çubuğu gibi şeyleri kontrol etmek için kullanılır ve sitenin kullanıcı türüne bağlı olarak, değeri tutan çok önemli bir kısmına erişimi kısıtlar. Bu sorun initialises, yine açısal bir tarafından çağrılır ve sonra başlangıç değerine geri değişkeni sıfırlar denetleyicisi.

Sanırım bu değil doğru yolu bildirmek ve paraflanması genel değişkenler, onun iyi değil, çok genel, yani benim soru ne kadar doğru ve iyi örnekler etrafında çalışmaları ile güncel sürüm açısal?

CEVAP
13 AĞUSTOS 2012, PAZARTESİ


İçin temelde 2 seçenek var "global" değişkenler:

$rootScope değerler açıkta tüm şablonları ve denetleyicileri görünür olacak, böylece tüm kapsamları bir ebeveyn. $rootScope kullanarak sadece herhangi bir denetleyici içine enjekte ve bu kapsamda değerleri değiştirebilirsiniz çok kolay. Kullanışlı olabilir ama problems of global variables vardır.

Hizmetleri herhangi bir denetleyici için enjekte ve bir kontrolörün kapsamında değerlerine getirebilir bu tekiz. Hizmetleri olmak tekiz hala 'küresel' ama o kullanılan ve açıkta olduğu üzerinde daha iyi kontrol var.

Hizmetleri kullanarak biraz daha karmaşıktır, ama o kadar değil, işte bir örnek:

var myApp = angular.module('myApp',[]);
myApp.factory('UserService', function() {
  return {
      name : 'anonymous'
  };
});

ve bir denetleyici: sonra

function MyCtrl($scope, UserService) {
    $scope.name = UserService.name;
}

Burada işçi jsFiddle: http://jsfiddle.net/pkozlowski_opensource/BRWPM/2/

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Police

    Android Poli

    21 NİSAN 2010
  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006