【问题标题】:How to set a property on Vue js router如何在 Vue js 路由器上设置属性
【发布时间】:2016-05-09 18:54:53
【问题描述】:

我在 router.map 中定义了一个名为

的属性
'/usersFeeds':{
      component: function(resolve){
        require([commonSections + 'usersFeeds.vue'], resolve);
      },
      auth: true,
      user: ''
    },

我希望能够在调用时设置“用户”属性:

router.go({ 
   path : 'path',
   user: 'userName'
})

【问题讨论】:

  • 你没有。路由对象属性并不意味着动态设置。您可以将它们作为 URL 的一部分传递(作为params:query: 的属性),或者使用存储模式将该信息存储在存储对象中。
  • @LinusBorg 我尝试将我的属性作为“参数”传递,但是当我切换到新路线时,它没有出现在参数中
  • 你不能设置任意参数,只有那些是路径的一部分,例如像/usersfeeds/:user这样的路径允许你传递一个名为user的参数。但是query:几乎可以包含任何内容。

标签: vue.js vue-router


【解决方案1】:

可以通过编程方式将 props 从组件发送到路由器路径

'/usersFeeds':{
      component: function(resolve){
        require([commonSections + 'usersFeeds.vue'], resolve);
      },
      auth: true,
      user: '',
      props: true
    },

router.push({ 
   path : 'path',
   params: { user: 'userName' }
})

params 用户作为 props 传递给它被重定向的组件

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 2018-01-14
    • 1970-01-01
    • 2020-01-10
    • 2018-02-20
    • 2014-04-20
    • 2020-09-07
    • 2022-09-27
    • 2019-08-03
    相关资源
    最近更新 更多