Angular在更改URL位置时重新加载整个页面

时间:2015-09-02 14:24:39

标签: javascript angularjs angular-ui-router

我正在使用ui-router和html5网址模式。 根据下面的代码,每当我加载应用程序时,请在http://localhost:3000处说明我被重定向到http://localhost:3000/home(正如预期的那样)。

var app = angular.module('app', ['ui-router']);

app.config($stateProvider, $locationProvider, $urlRouterProvider, $httpProvider) {

    $httpProvider.defaults.useXDomain = true;

    delete $httpProvider.defaults.headers.common['X-Requested-With'];

    $httpProvider.interceptors.push('AuthInterceptor');

    // use HTML5 urls
    $locationProvider
          .html5Mode({
            enabled: true,
            requireBase: false
          })

    $urlRouterProvider.when('/', '/home');

    // For any unmatched url
    $urlRouterProvider.otherwise('/home');

}

第一个问题是将html5mode更改为false似乎没有任何效果。无论如何,html5mode将处于活动状态,使用经典模式的唯一方法是注释整个代码块:

$locationProvider
    .html5Mode({
        enabled: false,
        requireBase: false
    })

问:这里有什么问题?

第二个问题是经典模式处于活动状态(非html5模式),我就是http://localhost:3000/hello,然后我会重定向到http://localhost:3000/hello#/home

问:为什么hello部分没有被带走?

第三个(主要)问题是例如我已经处于home状态或其他 ui-router 状态并且我手动更改了浏览器URL指向另一个状态(或home状态本身)。在这种情况下,不是进入该状态,而是重新加载整个浏览器窗口,重新启动角度应用程序。

问:我在这里缺少什么?

0 个答案:

没有答案