[英]Angular routing takes to home page on manual refresh or directly typing url
[英]Angular redirect/break page after manual refresh
我通过简单的路由进行了简单的角度应用。
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启动它时,也会发生同样的情况。 第一路线工作正常:
我可能不了解路由的工作方式。 这里会发生什么?
此问题是由页面上加载的Synfusion库和angular引起的。 来自Synfusion支持团队的答复:
脚本文件ej.mobile.all.min.js是Essential Studio JavaScript Mobile组件的集合。 在这种情况下,AppView充当Mobile应用程序的基础容器和母版页。 我们已经在内部处理了单页应用程序的历史记录导航,这会干扰Angular路由。 因此,对于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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.