加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:47:13 所属栏目:安全 来源:网络整理
导读:鉴于我的角色应用程序的基本示例,该应用程序位于 base href =“/ test /”目录,将应用程序发送回主(或根)路径的最佳方法是什么?菜单片段(下面)中的所有链接都可以使用,但是,“Home”链接会导致IE在后续请求中重新加载应用程序(HomeCtrl,特别是). app.js var
鉴于我的角色应用程序的基本示例,该应用程序位于< 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!
来自文档:
redirectTo – {(string|function())=} – value to update $location path with and trigger route redirection.

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

代替:

{ redirectTo: '/' }

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

{ template: basic,controller: HomeCtrl }

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读