鉴于我的角色应用程序的基本示例,该应用程序位于< base href =“/ test /”>目录,将应用程序发送回主(或根)路径的最佳方法是什么?菜单片段(下面)中的所有链接都可以使用,但是,“Home”链接会导致IE在后续请求中重新加载应用程序(HomeCtrl,特别是).
app.js
var basic = '<h1>{{title}}</h1><p>{{body}}</p>'; var app = angular.module('website',[]); app.config( function($routeProvider,$locationProvider) { $routeProvider. when('/',{ template: basic,controller: HomeCtrl }). when('/about',controller: AboutCtrl }). when('/experiments',controller: ExperimentsCtrl }). when('/:alias',controller: PageCtrl,resolve: { alias: resolveAlias } }). otherwise({ redirectTo: '/' }); $locationProvider.html5Mode('true'); } );
menu.html
<base href="/test/"> .... <div id="menu"> <a href="./" class="btn">Home</a> <a href="./about" class="btn">About</a> <a href="./experiments" class="btn">Experiments</a> <a href="./unicorn" class="btn">Unicorn</a> </div>
更新
在IE9中,对根的每个请求都重新运行JS文件,然后两次触发路由事件.
LOG: MainCtrl Loaded! LOG: routeChangeStart[object Arguments] LOG: routeChangeSuccess[object Arguments] LOG: routeChangeStart[object Arguments] LOG: routeChangeSuccess[object Arguments] LOG: HomeCtrl Called!