如何通过 <router-view> 传递动态道具

Posted

技术标签:

【中文标题】如何通过 <router-view> 传递动态道具【英文标题】:How to pass dynamic props through <router-view> 【发布时间】:2020-01-15 22:57:53 【问题描述】:

我在 vue 中有一个应用程序并注册了路由器,我所需要的只是将动态 props 传递给一些组件。

app.vue

<template>
  <v-app>
    <router-view :user="userVariable"></router-view>
  </v-app>
</template>

路由器.js

Vue.use(Router);
export default new Router(
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    
      path: '/login',
      name: 'Login',
      component: Login,
      props: true,
    ,
    
      path: '/profile',
      name: 'profile',
      component: Profile,
      props: true,
    ,
  ],
);

我在启动组件时获得了道具,但在更新值为userVariable 时无法获得更新的道具。 :(

【问题讨论】:

想确认有关问题的一些信息,您无法获取组件中对象的更新值吗?如果是,则在属性“deep”为真的属性上尝试观察者。 【参考方案1】:

我创建了this CodeSanbox example,其中一切似乎都运行良好。

当您传递的变量是 原始非原始 值时,我已经尝试了这两种情况。

【讨论】:

以上是关于如何通过 <router-view> 传递动态道具的主要内容,如果未能解决你的问题,请参考以下文章

vue中的router-view

vue刷新当前路由 router-view中的内容

Vue零散知识点

vue中的router-view组件的使用教程

转 router-view 的理解

Vue 2 <keep-alive> 不能与 <router-view> 和密钥一起使用