meta

在 Vue Router 的上下文中,meta 字段是您为路由定义的自定义字段,它可以用来存储路由相关的一些额外信息。您可以把它理解为附加在路由上的标签或属性,这些标签或属性对应的信息可以在路由守卫、组件等地方被访问和利用。

为什么要使用 meta?

有时候,您可能希望为特定的路由添加一些额外的信息或配置,而这些配置在其他地方可能并不适用。例如,您可能想要:

  • 标记某个路由需要用户认证。
  • 为某个路由设置特定的页面标题。
  • 标记某个路由是否需要加载特定的数据。

如何使用 meta?

在定义路由的时候,给特定路由添加 meta 字段:


const routes = [
   {
     path: '/dashboard',
     component: DashboardComponent,
     meta: { requiresAuth: true, title: 'User Dashboard' }
   }
 ]


在路由守卫或组件内访问这些 meta 字段:


router.beforeEach((to, from, next) => {
   // 使用 to.meta 来访问目标路由的 meta 字段
   if (to.meta.requiresAuth && !isUserLoggedIn()) {
     next('/login');
   } else {
     next();
   }
 });


简而言之,meta 是一种为路由附加额外信息的方式,这些信息可以在后续的代码中被引用和利用。希望这次的解释使您对 meta 有了更清晰的理解。