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

  • Ammine Getahun

    Ammine Getah

    21 HAZİRAN 2011
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007