SORU
22 ŞUBAT 2013, Cuma


Bir fonksiyonu açısal içinde her kontrolör olarak kullanılabilir hale getirebilir miyim?

Eğer fonksiyonu varsa foo ng-app benim bildirinin her yerde içinden aramak mümkün olmak istiyorum. Benim modülde genel erişilebilir hale getirebilirim şekilde Kur veya her denetleyicisi kapsamına eklememe gerek var mı yok mu?

CEVAP
22 ŞUBAT 2013, Cuma


Temelde iki seçenek, ya da bir hizmet olarak tanımlamak veya kök kapsamı üzerine yerleştirin. Bunun dışında bir hizmet root kapsamında kirletici önlemek için yapmanızı öneririm. Bir hizmet oluşturmak ve bu şekilde denetleyicisi olarak kullanılabilir:

<!doctype html>
<html ng-app="myApp">
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.angularjs.org/1.1.2/angular.min.js"></script>
    <script type="text/javascript">
    var myApp = angular.module('myApp', []);

    myApp.factory('myService', function() {
        return {
            foo: function() {
                alert("I'm foo!");
            }
        };
    });

    myApp.controller('MainCtrl', ['$scope', 'myService', function($scope, myService) {
        $scope.callFoo = function() {
            myService.foo();
        }
    }]);
    </script>
</head>
<body ng-controller="MainCtrl">
    <button ng-click="callFoo()">Call foo</button>
</body>
</html>

Eğer bu sizin için bir seçenek değilse, bu gibi kök kapsamında ekleyebilirsiniz:

<!doctype html>
<html ng-app="myApp">
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.angularjs.org/1.1.2/angular.min.js"></script>
    <script type="text/javascript">
    var myApp = angular.module('myApp', []);

    myApp.run(function($rootScope) {
        $rootScope.globalFoo = function() {
            alert("I'm global foo!");
        };
    });

    myApp.controller('MainCtrl', ['$scope', function($scope){

    }]);
    </script>
</head>
<body ng-controller="MainCtrl">
    <button ng-click="globalFoo()">Call global foo</button>
</body>
</html>

Bu şekilde, şablonlar tüm kumanda şablonu geçmek zorunda kalmadan globalFoo() çağırabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Helder Barreto

    Helder Barre

    22 Mayıs 2006
  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012