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>