使用@RouteConfig,是否可以防止浏览器的地址栏被更改?

时间:2016-04-13 21:17:18

标签: angular angular2-routing

使用此@RouteConfig - >是否可以阻止浏览器的地址栏保持为“http://foo.com/”,其中“/”保持为“/”并且永远不会将“/ Home”附加到浏览器的地址栏?在同一网页上内部围绕网址进行角度传递,那么为什么浏览器的地址栏不会改变?

我们不希望客户继续使用网络浏览器的后退按钮并弄乱网页数据。

@RouteConfig([
    {
        path: '/',
        name: 'SignIn',
        component: SignInComponent,
        useAsDefault: true
    },
    {
        path: '/', //Home',
        name: 'Home',
        component: MemberHomeComponent
    }
])

1 个答案:

答案 0 :(得分:0)

您可以创建自己的PlatformLocation实现,但不使用pushState(),而是将数据保存在数组中。

您可以使用BrowserPlatformLocation

您可以通过

使Angular使用您的实现
bootstrap(AppComponent, [
    ROUTER_PROVIDERS, 
    MyNoUrlBrowserPlatformLocation,
    provide(PlatformLocation, {useExisting: MyNoUrlBrowserPlatformLocation})
]);