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

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • How To Cook That

    How To Cook

    16 NİSAN 2011
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010