2016-12-02 3 views
2

Я пытаюсь заменить тег привязки тегом кнопки, чтобы перейти к другому маршруту. В результате, у меня есть функция, которая вызывается по щелчку, который выглядит примерно так:Угловая 2, не может соответствовать никаким маршрутам

submitReport (simpleOrDetailed : string) { 
     this.router.navigate(['../ticket-list', simpleOrDetailed]); 
} 

я использовал, чтобы он, как это встроенный в HTML, и она работала прекрасно:

<a class="btn btn-danger" [routerLink]="['../ticket-list', 'simple']" routerLinkActive="active"> Simple Report</a> 

Что здесь происходит? По моему мнению, он должен делать то же самое.

UPDATE

Я получил его, чтобы соответствовать моему маршруту, заменив тело функции с этим (веб-отчетом является родительским компонентом текущего компонента, а также компонент билетов списка):

this.router.navigate(['web-report/ticket-list', simpleOrDetailed]); 

Однако это вызывает неприятную перезагрузку страницы.

ответ

1

Если вы относительной навигации вам нужно добавить relativeTo

this.router.navigate([crisis.id], { relativeTo: this.route }); 

https://angular.io/docs/ts/latest/guide/router.html

+0

Я попытался следующие без толку: 'this.router.navigate ([» ../ ticket- list ', simpleOrDetailed, {relativeTo: this.route}]); ' Также: ' this.router.navigate ([' ../ ticket-list ', simpleOrDetailed, {relativeTo: this.route.parent} ]); ' Я пытаюсь открыть каталог, чтобы получить доступ к компоненту списка билетов. –

+0

Ну, похоже, это работает: 'this.router.navigate (['../ ticket-list', simpleOrDetailed], {relativeTo: this.route});' но я все еще получаю эту ужасную перезагрузку страницы. Если это поможет, есть параметры, связанные с объектом, который у меня есть в URL-адресе (который я не собирался показывать там). –

+0

Что такое перезагрузка страницы umpleasant? –