2017-02-14 2 views
0

Работал на AngularJS, но я получаю сообщение об ошибке, указывающее, что Angular используется до его определения. Я просмотрел несколько видеороликов и просмотрел документы. Даже с первой строкой в ​​файле js я получаю ошибку. в индексном файле я вызываю угловой 1.6.2 как первый файл перед чем-либо еще, поэтому я смущен тем, почему им сказали, что он используется до его определения.Угловой, используемый до определенного

мой HTML является:

<!doctype html> 
<html ng-app="weatherApp"> 
    <head> 

    <!-- Bootstrap 3 Latest compiled and minified CSS --> 
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 

    <!-- AngularJS --> 
    <script src="//code.angularjs.org/1.6.2/angular.min.js"></script> 
    <script src="//code.angularjs.org/1.6.2/angular-route.min.js"></script> 
    <script src="//code.angularjs.org/1.6.2/angular-resource.min.js"></script> 
    <script src="app.js"></script> 

    </head> 
    <body> 
    <h1>Hello, world!</h1> 

     <div class="container"> 

      <div> 
      <div id="web-api"> 
       <h1>test</h1> 
      </div> 
      </div> 

     </div> 

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    </body> 
</html> 

и JS является:

// MODULE - WEATHER 
var weatherApp = angular.module('weatherApp', ['ngRoute', 'ngResource']); 

weatherApp.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 

// ROUTING 
weatherApp.config(function($routeProvider) { 
    $routeProvider 
    .when('/', { 
     templateUrl: 'home.htm', 
     controller: 'homeController' 
    }) 

}); 

weatherApp.controller('homeController', ['$scope', function($scope) { 

}]); 

weatherApp.controller('forecastController', ['$scope', function($scope) { 

}]); 
+1

Я не уверен, может ли он помочь, но вы пытались переместить 'ng-app' из' html' в тег body? – Arkej

+0

Вы пробовали включить ваш 'app.js' в тело вместо головы? – UnholySheep

+0

Загрузите 'угловой ресурс' и' угловой маршрут' перед файлом 'angular.js'. Переместите угловые файлы ниже jquery, чтобы вы могли использовать свойства jquey в угловых файлах. – nivas

ответ

0

Вы используете любую серверную среду. Убедитесь, что вы выполняете угловые маршруты в любой серверной среде, например live-server.

Кроме того, убедитесь расширение для файла HTML правильно указано в конфигурации маршрутизации в app.js

0

Похоже, ваши CDNs не настроены правильно. Попробуйте это вместо:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-route.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-resource.min.js"></script> 

Также согласно docs, это рекомендуемое расположение, и должно обеспечить более быстрое время загрузки.

Смежные вопросы