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

  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • TomSka

    TomSka

    30 Mayıs 2006