vuerouter3种模式_vue-router官网中关于路由组件传参的三种模式:布尔模式 对象模式 函数模式,看不懂,不理解什么意思?汗血宝马...

1.路由组件传参

在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性。

使用 props 将组件和路由解耦:

2.取代与 $route 的耦合

const User = {

template: ‘

User {{ $route.params.id }}

}

const router = new VueRouter({

routes: [

{ path: '/user/:id', component: User }

]

})

3.通过 props 解耦

const User = {

props: [‘id’],

template: ‘

User {{ id }}

}

const router = new VueRouter({

routes: [

{ path: '/user/:id', component: User, props: true },

// 对于包含命名视图的路由,你必须分别为每个命名视图添加 `props` 选项:

{

path: '/user/:id',

components: { default: User, sidebar: Sidebar },

props: { default: true, sidebar: false }

}

]

})

这样你便可以在任何地方使用该组件,使得该组件更易于重用和测试。

4.能给写几个小例子说明下吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3路由传参的props可以通过以下几方式实现。 1 - 第一方式是使用对象作为props的值,在路由配置指定该对象的所有key-value都会以props的形式传递给组件。例如,可以在路由配置的props添加一个对象,如`props:{a:1, b:'hello'}`,这样在Detail组件可以通过props来接收这些参数。 2 - 第二方式是将props的值设置为布尔值true。这样,如果该布尔值为真,路由组件将以props的形式接收所有params参数传递给组件。 3 - 第三种方式是使用函数作为props的值。在函数,可以访问$route对象并返回一个对象,该对象将作为props传递给组件。例如,可以在路由配置的props添加一个函数,如`props($route){ return {id:$route.query.id, title:$route.query.title} }`,这样在Detail组件可以通过props来接收这些参数。 以上是Vue3路由传参props的三种常见方式。您可以根据需要选择适合的方式来传递参数给组件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vue-router--路由传参--props传参](https://blog.csdn.net/qq_43470725/article/details/125360040)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Vue3路由传参](https://blog.csdn.net/qq_54334713/article/details/126721772)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值