2016-08-31 17 views
0

я создал маршруты, как этотAngular2: Не в состоянии перейти к дочерним маршрутам непосредственно

{path: 'trainings', component: TrainingWrapperComponent, 
    children:[ 
    {path: '', component: TrainingsListComponent}, 
    {path: 'createTraining', component: ManageTrainingComponent}, 
    {path: 'trainingLanguage', component: TrainingLanguageComponent}, 

    ] 
    }, 

Теперь, когда я перейти к детскому маршруту от тренировок, я могу это сделать. Но если я обновляюсь или пытаюсь открыть URL напрямую. Я не могу этого сделать.

Например, тренинги/createTraining выбрасывают HTTP-ошибки, потому что они пытаются извлечь ресурсы, пройдя обучение/в качестве базового url.

+0

Можете ли вы отправить часть кода, где указан маршрут, пожалуйста? –

+0

Я ничего плохого не вижу. У вас есть: в index.html? Разве это не веб-сервер, не понимающий маршруты. Это также происходит при использовании HashLocationStrategy? –

+0

Я прохожу следующим образом: Работает отсюда, но обновляется после навигация не работает, а также когда я пытаюсь перейти на localhost/trainingings/createTraining, он тоже не работает –

ответ

2

Ok. Наконец я нашел решение. Проблема заключалась в том, что сервер не смог распознать мои дочерние маршруты как часть углового маршрута и, следовательно, эту ошибку. Таким образом, самым простым решением было изменение стратегии местоположения, используемой для маршрутизации, в hashlocationstategy. Это сразу же решило проблему.

+0

так же работал на меня, как ни странно, я все еще не могу напрямую перейти на любой маршрут/без маршрута/#/route или это возможно только через переписывание маршрута ngninx? – longbow

+0

не могли бы вы рассказать об этом? –