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

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • Associated Press

    Associated P

    18 EYLÜL 2006
  • FUzzyBUnnyBOoties

    FUzzyBUnnyBO

    3 EKİM 2007