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

  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010