В настоящее время я пытаюсь изменить свое веб-приложение с маршрутизации через MVC на SPA, где все разные будут загружаться на одной главной странице. Для этого я использую директиву ngview. Это главная страница -
<div ng-app="app">
<div ng-view>
</div>
</div>
@section Scripts{
<script src="~/Scripts/angular-route.js"></script>
<script>
var app=angular.module('app',['ngRoute']);
app.config(function ($routeProvider,$locationProvider) {
$routeProvider
.when("/", {
templateUrl: "Experimental/Index.html",
controller:"AddressList"
})
});
</script>
}
Пока у меня только один маршрут. Мой контроллер определен в теге скрипта внутри самого файла Index.html, а не в отдельном файле .js, например, так -
angular.module('app')
.controller('AddressList', ['$scope', '$http', function ($scope, $http) {
$scope.model = [];
$http.get('/Addresses/GetAddresses').then(function (response) {
if (response != null || response != "undefined") {
$scope.model = response.data;
}
});
}]);
Но после загрузки главной страницы я получаю сообщение об ошибке -
Контроллер с именем AddressList не зарегистрирован.
Означает ли это, что все мои контроллеры должны храниться в отдельных файлах или внутри основного html?