angularjs – 在使用BASE标记和HTML5Mode时,如何在Angular中设置根路径?

前端之家收集整理的这篇文章主要介绍了angularjs – 在使用BASE标记和HTML5Mode时,如何在Angular中设置根路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于我的角色应用程序的基本示例,该应用程序位于< base href =“/ test /”>目录,将应用程序发送回主(或根)路径的最佳方法是什么?菜单片段(下面)中的所有链接都可以使用,但是,“Home”链接会导致IE在后续请求中重新加载应用程序(HomeCtrl,特别是).

app.js

@H_502_3@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

@H_502_3@<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文件,然后两次触发路由事件.

@H_502_3@LOG: MainCtrl Loaded! LOG: routeChangeStart[object Arguments] LOG: routeChangeSuccess[object Arguments] LOG: routeChangeStart[object Arguments] LOG: routeChangeSuccess[object Arguments] LOG: HomeCtrl Called!
来自文档: @H_502_3@redirectTo – {(string|function())=} – value to update $location path with and trigger route redirection.

因此,浏览器重定向是您正在调用函数的一部分.

代替:

@H_502_3@{ redirectTo: '/' }

尝试使用相同的家庭路线:

@H_502_3@{ template: basic,controller: HomeCtrl }

我没有试过这个,因为我现在不能处理这个问题,但是如果有效的话请告诉我.

原文链接:https://www.f2er.com/angularjs/141131.html

猜你在找的Angularjs相关文章