手动刷新后的Angular重定向/中断页面

时间:2016-03-24 22:36:59

标签: javascript angularjs

我使用简单的路由进行了简单的角度应用。

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

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

启动“mongoose-free-6.1”服务器,第一次打开页面时一切正常。我的主要页面路径是:

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)

当我在IISExpress中从VS2015启动它时也会发生同样的情况。第一条路线工作正常:

我可能不明白路由是如何工作的。这里发生了什么?

1 个答案:

答案 0 :(得分:0)

此问题是由页面上加载的synfusion库和angular引起的。来自synfusion支持团队的回答:

  

脚本文件ej.mobile.all.min.js是Essential的集合   Studio JavaScript Mobile组件。在那里,AppView充当基础   移动应用程序的容器和母版页。我们处理过了   单页应用程序内部的历史导航,其中   干扰角度路由。因此,对于Angular路由,我们需要   阻止AppView的初始化。请参阅以下代码   示例

[html]

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

上面提到的脚本必须在旁边引用   ej.mobile.all.min.js脚本参考。

链接到原始问题和答案:

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