Angular NaNunction% 2C %20got% исключение, связанное с 20 минутами

право оправдано, и я хочу иметь частичный вид в зависимости от того, какая вкладка была нажата. нашел некоторый пример кода онлайн, чтобы начать работу, но я не могу определить вкладки, следуя образцу кода

index.html

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

  </head>
  <body>
    <div ng-view>

    </div>
     <script src="scripts/lib/angular.min.js"></script>
     <script src="scripts/lib/angular-route.min.js"></script>
     <script src="scripts/lib/bootstrap.min.js"></script>
     <script src="app.js"></script>
  </body>
</html>

app.js:

var mainApp = angular.module('mainApp', ['ngRoute']);
mainApp.config(function($routeProvider){
  $routeProvider.when('/', {
    controller: 'SearchController',
    templateUrl: 'search.html'
  })
})

search.html

<div ng-controller="SearchController">

</div>

SearchController: Пример, взятый из примера

angular.module('mainApp').controller('SearchController', function  ($scope, $window) {
  $scope.tabs = [
    { title:'Dynamic Title 1', content:'Dynamic content 1' },
    { title:'Dynamic Title 2', content:'Dynamic content 2', disabled: true }
  ];

  $scope.alertMe = function() {
    setTimeout(function() {
      $window.alert('You\'ve selected the alert tab!');
    });
  };
});

Ошибка:

[ng:areq] http://errors.angularjs.org/1.4.4/ng/areq?p0=search%2FSearchController.js&p1=not%20aNaNunction%2C%20got%20undefined

Ответ 1

Похоже, у него проблемы с поиском SearchController все вместе. Является ли ваш SearchController в собственном файле? Если это так, обязательно загрузите его в свой index.html!

Итак,

 <script src="scripts/lib/angular.min.js"></script>
 <script src="scripts/lib/angular-route.min.js"></script>
 <script src="scripts/lib/bootstrap.min.js"></script>
 <script src="app.js"></script>
 <script src="path/to/controller/SearchController.js"></script>

EDIT: Ах, я вижу проблему. Вы еще не определили "SearchController" в своем приложении.

Для этого -

В SearchController.js измените angular.module('mainApp') на angular.module('SearchController') Понимаете, что вы создаете модуль angular, который еще не отделен от вашего модуля 'mainApp'.

Затем в вашем приложении app.js do var mainApp = angular.module('mainApp', ['ngRoute', 'SearchController']); Это правильно добавит ваш контроллер в ваше приложение и будет корректно использоваться вашим маршрутизатором.

Ответ 2

вы забыли добавить ссылку в свой файл index.html. Пожалуйста, добавьте и разрешите ее решить.

    <div ng-view>
        <script src="https://code.angularjs.org/1.4.5/angular.min.js"></script>
        <script src="https://code.angularjs.org/1.4.5/angular-route.min.js"></script>
        <script src="app.js"></script>
        <script src="SearchController.js"></script>
    </div>