SORU
4 AĞUSTOS 2014, PAZARTESİ


Denetleyici bir fonksiyonu, genel denetleyicileri tanımlarken tanımsız var,

Örnek bir uygulama angularjs kullanarak yazıyorum. bir hata, aşağıda sayılan chrome tarayıcısı var.

Hata

Error: [ng:areq] http://errors.angularjs.org/1.3.0-beta.17/ng/areq?p0=ContactController&p1=not a function, got undefined

Kod

<!DOCTYPE html>
<html ng-app>
<head>
    <script src="../angular.min.js"> </script>
    <script type="text/javascript">
        function ContactController($scope) {
            $scope.contacts = ["abcd@gmail.com", "abcd@yahoo.co.in"];

            $scope.add = function() {
                $scope.contacts.push($scope.newcontact);
                $scope.newcontact = "";

            };
        }

    </script>

</head>

<body>

    <h1>  modules sample </h1>

    <div ng-controller="ContactController">
        Email:<input type="text" ng-model="newcontact">
        <button ng-click="add()">Add</button>

        <h2> Contacts </h2>
        <ul>
            <li ng-repeat="contact in contacts"> {{contact}} </li>
        </ul>

    </div>
</body> 
</html>

CEVAP
4 AĞUSTOS 2014, PAZARTESİ


Açısal 1.3 ile artık genel kapsamı (açık Kayıt Olmadan) küresel denetleyicisi beyan kullanabilirsiniz. Denetleyicisi module.controller sözdizimi kullanarak kaydetmeniz gerekir.

: Örnek

   angular.module('app', []).controller('ContactController', ['$scope', function ContactController($scope) {
        $scope.contacts = ["abcd@gmail.com", "abcd@yahoo.co.in"];

        $scope.add = function() {
            $scope.contacts.push($scope.newcontact);
            $scope.newcontact = "";

        };
    }]);

ya

 function ContactController($scope) {
        $scope.contacts = ["abcd@gmail.com", "abcd@yahoo.co.in"];

        $scope.add = function() {
            $scope.contacts.push($scope.newcontact);
            $scope.newcontact = "";

        };
    }
 ContactController.$inject = ['$scope'];
 angular.module('app', []).controller('ContactController', ContactController)

Bir son dakika değişikliği olur ama 22**.

: Örnek

angular.module('app').config(['$controllerProvider', function($controllerProvider) {
      $controllerProvider.allowGlobals();
   }]);

Burada açısal kaynağından yorum:-

  • eğer verilen isimde bir denetleyici $controllerProvider) kayıtlı olup olmadığını kontrol edin
  • eğer geçerli kapsamı üzerinde dize değerlendiren bir kurucu döndürür olup olmadığını kontrol edin
  • , window genel nesne üzerinde window[constructor] (önerilen) onay allowGlobals. $controllerProvider#
 .....

expression = controllers.hasOwnProperty(constructor)
            ? controllers[constructor]
            : getter(locals.$scope, constructor, true) ||
                (globals ? getter($window, constructor, true) : undefined);

Bazı ek kontroller:-

  • ng-app açısal kök öğesi yönergesi appname koymak emin Olun (: - html gibi). : Örnek ng-app="" . uygulamam

  • Her şey gayet iyi ve hala alıyorsanız eğer sorunu doğru dosya komut dosyaları dahil olduğundan emin olmak için hatırlıyorum.

  • Size tanımlı değil aynı modülü iki kez farklı yerlerde sonuçlarında herhangi bir varlık tanımlanmış, daha önce aynı modül için temizlendi, Örnek angular.module('app',[]).controller(.. ve tekrar başka bir yere angular.module('app',[]).service(.. (Her iki komut dahil elbette) neden daha önce kayıtlı denetleyicisinde modülü app olmak temizlendi ile ikinci Rekreasyon modülü.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • superemposed

    superemposed

    25 Aralık 2007