当前位置:首页 > VUE

vue如何实现参数传递

2026-01-21 21:11:21VUE

路由参数传递

通过路由配置动态参数,在组件中通过this.$route.params获取。例如定义路由{ path: '/user/:id', component: User },访问/user/123时可通过this.$route.params.id获取值123。

<router-link>中传递参数:

<router-link :to="{ name: 'user', params: { id: 123 }}">User</router-link>

props解耦路由参数

在路由配置中开启props: true,可将路由参数自动注入为组件props:

const router = new VueRouter({
  routes: [
    { path: '/user/:id', component: User, props: true }
  ]
})

组件内直接通过props接收:

export default {
  props: ['id']
}

查询参数传递

通过$route.query获取URL问号后的参数,如/user?id=123

<router-link :to="{ path: '/user', query: { id: 123 }}">User</router-link>

组件内通过this.$route.query.id获取。

编程式导航传参

使用router.push()时传递参数:

this.$router.push({
  name: 'user',
  params: { id: 123 },
  query: { plan: 'premium' }
})

父子组件通信

父组件通过v-bind传递props:

<child-component :message="parentMsg"></child-component>

子组件声明props接收:

export default {
  props: ['message']
}

子父组件通信

子组件通过$emit触发事件:

this.$emit('update', newValue)

父组件监听事件:

<child-component @update="handleUpdate"></child-component>

事件总线跨组件通信

创建事件中心:

export const eventBus = new Vue()

组件A发送事件:

eventBus.$emit('eventName', data)

组件B监听事件:

eventBus.$on('eventName', (data) => {})

Vuex状态管理

适合复杂应用的状态管理,通过store共享数据:

// 存储
this.$store.commit('mutationName', payload)

// 获取
this.$store.state.moduleName.data

provide/inject

祖先组件提供数据:

export default {
  provide() {
    return {
      sharedData: this.sharedValue
    }
  }
}

后代组件注入使用:

export default {
  inject: ['sharedData']
}

$attrs/$listeners

传递未声明的props和事件:

vue如何实现参数传递

<child-component v-bind="$attrs" v-on="$listeners"></child-component>

分享给朋友:

相关文章

vue如何实现登录

vue如何实现登录

Vue 实现登录功能的方法 创建登录表单组件 在 Vue 项目中创建一个登录表单组件,通常命名为 Login.vue。表单包含用户名和密码输入框,以及提交按钮。 <template>…

vue如何实现原理

vue如何实现原理

Vue 实现原理的核心机制 Vue.js 的核心实现原理基于响应式系统、虚拟 DOM 和组件化设计。以下是关键机制的详细解析: 响应式系统 Vue 通过 Object.defineProperty(…

vue如何实现滚动

vue如何实现滚动

Vue 实现滚动的方法 使用原生滚动 在Vue中可以直接使用HTML原生滚动,通过CSS设置overflow: auto或overflow: scroll来实现滚动效果。适用于简单场景。 <d…

react如何传参数

react如何传参数

在 React 中传递参数的方法 React 提供了多种传递参数的方式,具体取决于组件的类型和场景。以下是常见的参数传递方法: 父子组件传递参数(Props) 父组件通过属性(props)向子组件传…

vue如何实现筛选

vue如何实现筛选

在Vue中实现筛选功能 Vue提供了多种方式实现数据筛选,可以根据需求选择合适的方法。以下是几种常见的实现方式: 使用计算属性实现筛选 计算属性是Vue中实现筛选功能的推荐方式,它会自动缓存结果,…

vue实现传递参数

vue实现传递参数

Vue 中传递参数的几种方法 通过路由传参(query 或 params) 使用 router-link 或编程式导航传递参数: // query 传参(显示在 URL 中) this.$route…