我是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
?
答案 0 :(得分:1)
您需要使用HTML5浏览器:history management并配置您的网络服务器:configure server for html5 mode。以下是有关此问题的更多信息:angular2 series routing
或者
切换到哈希位置策略:
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);