Vue中多种通信传值方式详解

1 下载量 50 浏览量 更新于2024-08-29 收藏 64KB PDF 举报
Vue 中各种通信传值方式总结 路由通信传值 路由通信是一种常用的通信方式,通过路由跳转将参数带过去。在 Vue 中,我们可以使用 `$router` 对象来实现路由跳转,并使用 `query` 对象来传递参数。 例如,我们可以创建一个名为 `Head` 的组件,并在其中定义一个按钮点击事件。在点击事件中,我们使用 `$router` 对象来跳转到 `/about` 路由,并将参数 `text` 传递过去。 ```html <template> <div id="head"> <button @click="handleChange">clickMe</button> </div> </template> <script> export default { name: 'Head', data() { return {} }, mounted() {}, updated() {}, methods: { handleChange() { this.$router.push({ path: "/about", query: { text: "我是阿格斯之盾" } }) } } } </script> ``` 在 `About` 组件中,我们可以使用 `$route.query` 对象来接收传递过来的参数。 ```html <template> <div id="about"> <p>我是关于页:{{ message }}</p> <button type="button" @click="handleChange">回到首页</button> </div> </template> <script> export default { name: 'About', data() { return { message: "" } }, mounted() { this.message = this.$route.query.text }, updated() {}, methods: { handleChange() { this.$router.push({ path: "/" }) } } } </script> ``` 路由注册 为了实现路由跳转,我们需要注册路由。在 Vue 中,我们可以使用 `VueRouter` 对象来注册路由。 ```javascript import Vue from 'vue' import Router from 'vue-router' import Head from '@/components/Head' import About from '@/components/About' Vue.use(Router) export default new Router({ mode: 'history', routes: [ { path: '/', component: Head }, { path: '/about', component: About } ] }) ``` 在上面的代码中,我们创建了一个 `Router` 实例,并将其注册到了 Vue 实例中。然后,我们定义了两个路由:`/` 和 `/about`。当用户访问 `/about` 路由时,我们将显示 `About` 组件,并将参数 `text` 传递过去。 总结 在 Vue 中,我们可以使用路由通信来传递参数。通过使用 `$router` 对象和 `query` 对象,我们可以实现路由跳转,并将参数传递过去。同时,我们需要注册路由,以便实现路由跳转。