programing

특정 루트의 Vue 라우터에 여러 에일리어스를 설정할 수 있습니까?

copysource 2022. 9. 18. 17:34
반응형

특정 루트의 Vue 라우터에 여러 에일리어스를 설정할 수 있습니까?

이하와 같습니다만, 지금은 에일리어스가 완벽하게 대응하고 있습니다만, 패스에 대해 복수의 에일리어스를 어떻게 선언할 수 있을까 하는 생각이 듭니다만, 이 방법은 어떻습니까?예제:

export default new Router({
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home,
      alias: ['/home', '/home2', '/homeN']
    },
    {
      path: '/about',
      name: 'about',
      component: () => import('./views/About.vue')
    }
  ]
})  

즉, 그렇게 하는 것이 권장되는 방법입니까?Vue 라우터에서 이를 위한 더 나은 방법이 있습니까?

이건 괜찮아요. 공식적인 사례도 있어요.

const router = new VueRouter({
  mode: 'history',
  base: __dirname,
  routes: [
    { path: '/root', component: Root, alias: '/root-alias' },
    { path: '/home', component: Home,
      children: [
        // absolute alias
        { path: 'foo', component: Foo, alias: '/foo' },
        // relative alias (alias to /home/bar-alias)
        { path: 'bar', component: Bar, alias: 'bar-alias' },
        // multiple aliases
        { path: 'baz', component: Baz, alias: ['/baz', 'baz-alias'] },
        // default child route with empty string as alias.
        { path: 'default', component: Default, alias: '' },
        // nested alias
        { path: 'nested', component: Nested, alias: 'nested-alias',
          children: [
            { path: 'foo', component: NestedFoo }
          ]
        }
      ]
    }
  ]
});

맞춤법 오타가 더 걱정되시다면, 아마도 네비게이션 가드를 사용하시면 됩니다.*루트 패스의 서브스트링에 근거해 리다이렉트 되는 와일드카드 패스.

사실, 당신이 한 일은 완전히 괜찮을 거예요.일련의 별칭을 지정할 수 있으며 vue가 이해할 수 있습니다.

export default new Router({
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home,
      alias: ['/home', '/home2', '/homeN']  // multiple aliases
    },
 
  ]
})  

(당신의 코드를 그대로 복사했습니다.)

언급URL : https://stackoverflow.com/questions/52896318/may-i-have-multiple-alias-in-vues-router-for-an-specific-route

반응형