Angular 2 - 刷新时的路由行为

时间:2016-02-09 02:08:00

标签: angularjs typescript

我是Angular 2的新手。我对路由有疑问,实际上我不明白为什么会这样。

@Component({
    selector: 'app',
    templateUrl: 'app/app.template.html',
    directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
  {path:'/index', name:'Index', component: IndexComponent, useAsDefault: true},
  {path:'/home', name: 'Home', component: HomeComponent}
])
export class AppComponent { }

IndexComponent我有一个具有以下属性的按钮:[routerLink]="['Home']"

所以,当我按下它时,会出现HomeComponent,因为它会被发生。该网址按预期从http://localhost/index更改为http://localhost/home

问题是,如果现在我刷新浏览器,它会将网址更改为http://localhost/home/index并显示索引模板。如果我再次刷新,浏览器会抛出错误。

我读的不多,但我想我不能刷新页面/home,因为Angular 2不知道该把我带到哪里。我对吗?如果用户刷新浏览器,我应该怎么做才能将用户带到/index

1 个答案:

答案 0 :(得分:1)

您需要使用HTML5浏览器:history management并配置您的网络服务器:configure server for html5 mode。以下是有关此问题的更多信息:angular2 series routing

或者

切换到哈希位置策略:

bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);