2017-01-12 5 views
1

у меня есть:Угловой 2 routerLink в родительском компоненте относительно детского маршрута?

  • Основной компонент
  • - первая Детский компонент с параметром
  • - Секонд Детского компонента

Путем Первого-ребенок и его параметры: http://localhost/mpm/0776452c

второго Детский путь должен быть: http://localhost/mpm/0776452c/settings

Моя проблема заключается в том, что я хочу поместить ссылку на компонент Second-Child в Main component.

Я попробовал этот путь: [routerLink] = «» ./ настройки» но генерируемый звено имеет круглые скобки в конце по некоторым причинам: http://localhost/mpm/0776452c/(settings)

Есть ли у вас идеи, как это исправить простой способ, потому что теперь я генерирую полный путь к компоненту Second-Child?

Спасибо!

Редактировать: Ссылка на компонент Second-Child размещена в основном компоненте. Идея заключается в том, когда я в первый ребенку компонент (http://localhost/mpm/0776452c) Я хочу, чтобы нажать на [routerLink] = «» ./ настройки», который находится в главном компоненте, так что я могу пойти в http://localhost/mpm/0776452c/settings

Edit 2 - моя конфигурация маршрутизатора

{ 
    path: '', 
    component: MainComponent, 
    canActivate: [AuthGuard], 
    children: [ 
    { 
     path: 'mpm/:id', 
     component: FirstChild, 
     canActivate: [AuthGuard] 
    }, 
    { 
     path: 'mpm/:id/settings', 
     component: SecondChild, 
     canActivate: [AuthGuard] 
    } 
    ] 
} 
+0

Не могли бы вы указать вашу проблему немного больше? Что вы подразумеваете под словом «поставить ссылку»? Нужно ли использовать новую ссылку в первом дочернем компоненте? Как, получив параметр «Настройки» в первый ребенок? – MyHeartsECO

+0

Ссылка на компонент Second-Child размещена в основном компоненте. Идея заключается в том, что я нахожусь в компоненте First-Child (http: // localhost/mpm/0776452c). Я хочу нажать [routerLink] = "'./ settings", который находится в основном компоненте, поэтому я могу перейти к http: // localhost/mpm/0776452c/settings –

+0

Эй, можете ли вы разместить здесь свои настройки маршрутизатора? Меня действительно интересует, почему он помещает эти скобки. Вторая идея, вы можете перейти к id/settings в routerlink.(07xxx/settings) Я думаю, что маршрутизатор немного запутался в состоянии. – MyHeartsECO

ответ

1

Если вы используете «./settings» в качестве маршрута, он будет пытаться перейти к ребенку FirstComponent, вам нужно использовать «../settings», но даже не будет работать.

Возможно, вам придется переработать то, как вы делаете свои маршруты, и сделать SecondComponent дочерним элементом FirstComponent на маршрутах.

Если вы попытаетесь перейти к ../settings, родительский маршрут будет/mpm, поэтому он будет разрешен/mpm/settings, not/mpm /: id/settings. Единственный способ это может работать, если вы измените свое routerLink на что-то вроде:

routerLink="../{{id}}/settings"

P.S, если вы не хотите, чтобы связать со значением, вы можете опустить скобки. Таким образом, вам не нужно переносить свои значения в кавычки.

+1

Я думаю, что следующие оба должны работать '[routerLink] = '../../mpm/{{id}}/settings'' или' [routerLink] ='/mpm/{{id}}/settings'' – Vishal

Смежные вопросы