2016-02-09 4 views
1

Я очень новичок в Угловом 2. И у меня есть сомнения в маршрутизации, на самом деле я не понимаю, почему это происходит.Угловая 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, как это supossed произойдет. URL-адрес изменяется от http://localhost/index до http://localhost/home, как и ожидалось.

Дело в том, что если я обновляю браузер, он меняет URL-адрес на http://localhost/home/index и показывает мне шаблон индекса. И если я снова обновляюсь, браузер выдает ошибки.

Я не читал много, но я думаю, что я не должен обновлять страницу /home, потому что Angular 2 не может знать, куда меня взять. Я прав? Что делать, если пользователь должен обновить браузер до /index?

ответ

1

Вам необходимо либо использовать браузер HTML5: history management и настроить ваш веб-сервер: configure server for html5 mode. Вот больше информации по этому вопросу: angular2 series routing

Или

Переключить на хэширования стратегию местоположения:

bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]); 
Смежные вопросы