手动刷新后的角度重定向/断开页面

Angular redirect/break page after manual refresh

本文关键字:重定向 断开 刷新      更新时间:2023-09-26

我用简单的路由制作了简单的角度应用程序。

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启动它时,也会发生同样的情况。第一条路线工作良好:

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

此问题是由页面上与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