2015-09-27 18 views
6

Bunun yaygın bir sorun olduğunu biliyorum ancak daha önce sorulan soruları okuyarak bir çözüm bulamadım.AngularJS denetleyicimi bulamıyor

Aslında iki hata alıyorum ama birincisi, denetleyicimi bulamamak için açısallıkla ilgili. ?

http://errors.angularjs.org/1.4.2/ $ enjektör/nomod p0 = myApp.controllers Benim dizin yapısı aşağıdaki gibi görünüyor

:

Benim indeks dosyası aşağıdaki gibi görünür
. 
└── static 
    ├── index.html 
    ├── js 
    │   ├── app.js 
    │   └── controllers.js 
    ├── lib 
    │   └── angular-ui-router.min.js 
    └── partials 
     ├── view1.html 
     └── view2.html 

:

<html ng-app="myApp"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Hello AngularJS</title> 
    </head> 
    <body> 
     <div ui-view></div> 
     <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.2/angular.min.js"></script> 
     <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.2/angular-route.min.js"></script> 
     <script type="text/javascript" src="lib/angular-ui-router.min.js"></script> 
     <script type="text/javascript" src="js/controllers.js"></script> 
     <script type="text/javascript" src="js/app.js"></script> 
    </body> 
</html> 

Benim app.js dosyası aşağıdaki gibi görünür:

(function(angular) { 

    var app = angular.module('myApp', ['ui.router', 'myApp.controllers']); 

    app.config(function($stateProvider) { 
     $stateProvider.state('view1', { 
      url: '/view1', 
      templateUrl: 'partials/view1.html', 
      controller: 'View1Controller' 
     }).state('view2', { 
      url: '/view2', 
      templateUrl: 'partials/view2.html', 
      controller: 'View2Controller' 
     }); 
    }).run(function($state) { 
     $state.go('view2'); 
    }); 

})(angular); 

Benim controller.js dosyası aşağıdaki gibi görünür:

(function(angular) { 
    var app = angular.module('myApp.controllers'); 

    app.controller('View1Controller', function($scope) { 
     $scope.data = 'my view 1'; 
    }); 

    app.controller('View2Controller', function($scope) { 
     $scope.data = 'my view 2'; 
    }); 

})(angular); 
Ayrıca

ilgili olabilir ikinci error.

Yukarıda belirtildiği gibi açısal kontrol cihazımı bulamıyor. Yanlış yaptığım şey hakkında bir ipucu var mı? Daha fazla kod yapıştırmam gerekirse lütfen bana bildirin.

Birinin uğraşmayı daha kolay bulması durumunda kodu github üzerinde paylaştım. açısal angular.module() olarak

https://github.com/tonsV2/angular-ui.route/tree/master/src/main/resources/static

+0

Try olarak değiştirin pasörlük kullanmak için. "App.js" dosyası, controllers.js'den daha önce yüklenmelidir. – Niezborala

cevap

7

bir belirleyici ve bir alıcı olup. (@DanAtkinson's comment ile) angular.module dokümanlar göre:

birden fazla bağımsız değişken geçen ise, bir bağımsız değişken mevcut bir angular.Module alır geçen yeni angular.Module oluşturur.

getter

var app = angular.module('myApp.controllers'); bir gaz giderici olarak modülü kullanır.

Bu modül myApp.controllers henüz oluşturulmadığından başarısız oluyor.

Setter

yüklü komut sırası konumunu değiştirmek için

var app = angular.module('myApp.controllers', []); // note the [] 
+1

[docs] (https://docs.angularjs.org/api/ng/function/angular.module) bu get/set mantığını çok net yapmaz, ancak ilk satırda aşağıdaki ifade vardır: 'Bir argümanı geçmek mevcut bir angular.Module, birden fazla argüman geçerken yeni bir açısal oluşturur.Module'. –

+1

Teşekkürler. Bunu ekledim. –