我使用简单的路由进行了简单的角度应用。
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启动它时也会发生同样的情况。第一条路线工作正常:
我可能不明白路由是如何工作的。这里发生了什么?
答案 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