2016-03-24 4 views
0

Я сделал простое угловое приложение с простой маршрутизацией. «Мангуст-свободно-6,1» серверУгловая страница перенаправления/перерыва после ручного обновления

angular.module("mainApp", ["ngRoute"]); 

angular.module("mainApp") 
.config(function ($routeProvider) { 
    $routeProvider 
    .when("/main", { 
     templateUrl: "views/main.html", 
     controller: "MainController" 
    }) 
    .otherwise({ redirectTo: "/main" }); 
}); 

Start, и в первый раз, когда я открываю мою страницу все работает отлично. Мой основной путь страницы:

http://192.168.0.16:8080/EventManagementMobile/EventManagementMobile/#/main 

После первого ручного обновления на странице я получаю маршрут:

http://192.168.0.16:8080/main#/main 

Страница разбита и в консоли я получаю сообщение об ошибке:

GET http://192.168.0.16:8080/views/main.html 404 (Not Found)(anonymous function) 
Error: [$compile:tpload] http://errors.angularjs.org/1.5.2/$compile/tpload?p0=views%2Fmain.html&p1=404&p2=Not%20Found 
at Error (native) 

То же происходит, когда я запускаю его из VS2015 в IISExpress. Первый маршрут работает нормально:

Возможно, я не понимаю, как работает маршрутизация. Что здесь происходит ?

+0

Это очень запутанная проблема. Я был бы очень рад помочь, если бы вы могли показать больше кода. Или даже MUCH Better представление Plunker/codepen/JSFiddle! – amanuel2

+0

Код прост, только пустая страница и пустой контроллер. Я думаю, что проблема в сервере. Когда я запускаю сервер, он запускается по пути: http://192.168.0.16:8080/. После этого я просматриваю приложение EventManagementMobile через браузер, и это нормально. Каждое следующее обновление возвращает меня к стартовой странице сервера, а угловые просто добавляют «/ main» на пути, и я получаю неправильный путь. Я попытаюсь воспроизвести в плункер, но я сомневаюсь. – Milos

ответ

0

Эта проблема была вызвана библиотекой synfusion, загруженной на страницу вместе с угловым. Ответ от команды поддержки synfusion:

The script file ej.mobile.all.min.js is a collection of Essential Studio JavaScript Mobile components. In that, AppView acts as a base container and master page for the Mobile application. We have handled the history navigation internally for Single Page Applications, which interfere for Angular routing. Hence for Angular routing, we need to prevent the initialization of AppView. Refer to the following code example.

[html] 

<script> 
    App.preventAppviewInit = true 
</script> 

The above mentioned script have to be referred next to ej.mobile.all.min.js script reference.

Ссылка на оригинальный вопрос и ответ:

http://www.syncfusion.com/forums/123560/loading-syncfusion-scripts-on-page-break-angular-routing

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