AngularJS Routing не работает в Visual Studio

0

Вот мой файл app.js

var assetApp = angular.module('assetModule',['ngRoute']);

assetApp.config(
 function ($routeProvider) {
     $routeProvider
         .when('/', {
                 templateUrl: 'HTMLTemplates/BooksList.html',
                 controller: 'assetController'
         })
         .when('/Create', {
             templateUrl: 'HTMLTemplates/Create.html',
             controller: 'createAssetController'
         })
         .otherwise({
            redirectTo: '/'
         });
 });
  assetApp.controller("assetController", ['$scope', '$http', '$window', '$routeParams', function ($scope, $http, $window, $routeParams) {    
  var getListOfAllAssetsUrl = "/api/Asset";
  $scope.GetAllBooks = function () {
        $http.get(getListOfAllAssetsUrl).then(function (response) {
            $scope.books = response.data;
        });
    }
}
]);

index.html

 <!DOCTYPE html>

 <html ng-app="assetModule">
   <head>
      <script src="/Scripts/angular.min.js"></script>
      <script src="/Scripts/angular-route.min.js"></script>
      <script src="/Scripts/myApp.js"></script> 
      <link href="/Content/bootstrap.css" rel="stylesheet" type="text/css" />
      <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
      <title>Routing</title>
      <meta charset="utf-8"/>
   </head>
   <body>
      <div ng-view>

      </div>
   </body>
 </html>

BooksList.html

 <div class="container">
     <p>This is BookList </p>
 </div>

Create.html

 <div class="container">
   <p>This is Create Page </p>
 </div>

Страницы BooksList и Create.html помещаются в папку /HTMLTemplates, тогда как app.js помещается под /Scripts.

Когда я запустил приложение и введите этот URL-адрес http://localhost: 51227/, я ожидаю, что содержимое BooksList.html будет видимым. К сожалению, браузер, похоже, что-то делает, но через некоторое время он падает. Похоже, я заставил приложение войти в какой-то бесконечный цикл и, наконец, выскочить.

Когда я ввожу этот url http://localhost: 51227/Create, я ожидаю Create.html. содержимое должно быть видимым. К сожалению, в этом случае он не работает. Я получаю Однако я получаю ошибку сервера в '/' приложении.

Ресурс не может быть найден.

Может ли кто-нибудь предложить, как я могу исправить маршрут?

  • 0
    это весь index.html? в нем нет ссылок на угловые или какие-либо скрипты.
  • 0
    Привет, @Claies. Это ... извините, я не поставил их, поскольку это предполагается автоматически для этого вопроса. Однако я обновлю свою страницу сейчас. Спасибо
Показать ещё 9 комментариев
Теги:
ngroute

2 ответа

0
Лучший ответ

Все, что я должен был сделать, это использовать этот URL-адрес

HTTP://локальный: 51227/index.html #/

и это перенаправило бы меня в Книжный список.

Это связано с тем, что index.html - это место, где будут проходить шаблоны, поэтому мне пришлось использовать этот URL-адрес в качестве отправной точки для работы шаблонов.

0

Я не верю, что это проблема с вашим кодом, но moreso Angular Routing специально и как работает угловой маршрутизатор.

Вы пробовали переходить к http://localhost: 51227/index.html?

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

http://localhost: 51227/index.html #/Create будет загружать Create.html в вашу директиву ng-vew на ваш index.html

  • 0
    Здравствуйте @Stefan Спасибо за ваш ответ. Да, я пробовал этот URL, а также localhost: 51227 / index.html . Если это сделать, то браузер, похоже, пытается что-то загрузить, но затем он продолжает это делать, пока не выйдет из строя. К сожалению, я даже не могу использовать инструменты отладчика браузера / разработчика в этом случае, потому что они даже не появляются.
  • 0
    Кажется, ваш контроллер загружает что-то под названием «myService», которое на самом деле не используется в контроллере. Лучше быть проще, если это не нужно, пока не сработает маршрутизация. Если это не определено, angular выдаст ошибку там. Также вы пробовали отладку в Chrome? Извините за поздний ответ и если у вас все готово
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню