0

моего маршрутизатор выглядит следующим образом,Реагировать вложенный вопрос маршрутизации

[ 
    { 
    path: '/', 
    component: App, 
    childRoutes: [ 
     { 
     path: 'dashboard', 
     getComponent: function(location, cb) { 
      require.ensure([], function(require) { 
       cb(null, require('../plugins/dashboard/index')) 
      }) 
     }, 
     childRoutes: [ 
      { 
       path: '/:id', 
       getComponent: function(location, cb) { 
        require.ensure([], function(require) { 
         cb(null, require('../plugins/dashboard/saved_dashboard')) 
        }) 
       } 
      } 
     ] 
     }, 
     { 
     path: 'profile', 
     getComponent: function(location, cb) { 
      require.ensure([], function(require) { 
       cb(null, require('../plugins/profile/index')) 
      }) 
      } 
     } 
    ] 
    } 
]; 

И мой образец меню компоненты код выглядит

<ul id='menu'> 
    <li> 
    <Link to='dashboard'>dashboard</Link> 
    </li> 

    <li> 
    <Link to='dashboard/mydashboard'>my dashboard</Link> 
    </li> 

    <li> 
    <Link to='profile'>profile</Link> 
    </li> 
</ul> 

проблема, когда я нажимаю «мою панель», то Маршруты

localhost/dashboard/mydashboard 

здесь, если я нажимаю «моя панель» снова будет маршрутизации

localhost/dashboard/mydashboard/dashboard/mydashboard 

и продолжайте движение.

Как исправить эту проблему? где я сделал ошибку? или мне нужно сделать что-нибудь еще в конфигурации?

ответ

1

Причиной этого является то, что to параметр Link принимает абсолютный путь, и ваши пути относительны ...

Так, чтобы исправить это, он должен выглядеть следующим образом:

<ul id='menu'> 
    <li> 
    <Link to='/dashboard'>dashboard</Link> 
    </li> 

    <li> 
    <Link to='/dashboard/mydashboard'>my dashboard</Link> 
    </li> 

    <li> 
    <Link to='/profile'>profile</Link> 
    </li> 
</ul>