vue实现非路由跳转以及数据传递

Posted superDragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue实现非路由跳转以及数据传递相关的知识,希望对你有一定的参考价值。

 

定义一个父组件

<template>
  <v-layout>
    <v-card contextual-style="dark" v-if="show">
      <span slot="header">
        一级主页面
      </span>
      <div slot="body">主内容页</div>
      <div slot="footer" :showDate="showDate">
        <div>来自主页面</div>
        <button type="button" class="btn btn-info " @click="toggle1">去子组件并传递数据</button>
      </div>

    </v-card>
    <v-card contextual-style="dark" v-else>
      <span slot="header">
        组件主页
      </span>
      <div slot="body">组件内容页</div>
      <div slot="footer">
        <div>来自组件页面</div>
        <my-button showDate="***父组件传递的数据***" @toggleEvent="toggle"></my-button>
      </div>

    </v-card>

  </v-layout>
</template>

<script>
/* ============
 * Home Index Page
 * ============
 *
 * The home index page.
 */

import VLayout from \'@/layouts/Default\';
import VCard from \'@/components/Card\';
import MyButton from \'@/components/MyButton\';

export default {
  /**
   * The name of the page.
   */
  name: \'home-index\',
  data() {
    return {
      show: true,
      showDate: "父子间传过来的数据"
    }
  },
  methods: {
    toggle1(){
this.show =false;
    },
    toggle(data) {
      console.log(data)
      this.show = data;
    }
  },
  mounted() {
    // this.toggle();
  },
  /**
   * The components that the page can use.
   */
  components: {
    VLayout,
    VCard,
    MyButton
  },
};
</script>

再定义一个子组件

<template>
    <div>
        <div slot="body">{{showDate}}</div>
        <button type="button" class="btn btn-danger " @click="toggle1">去父组件</button>
    </div>
</template>
<script>
export default {
    props: ["showDate"],
    methods: {
        toggle1() {
            this.$emit(\'toggleEvent\', "false")
        }
    }

}
</script>

将父组件的数据通过porps传递到子组件,子组件通过this.$emit(‘触发的事件函数’,要传输的数据)

就目前来说(组件之间传递数据共有三种方法):

1.通过父子组件之间的通信

2.通过vuex

3.通过路由传参

要说的就这么多,晚安~~~

以上是关于vue实现非路由跳转以及数据传递的主要内容,如果未能解决你的问题,请参考以下文章

vue传参的三种方式

前端Vue项目:旅游App-(18)TabBar:debug,非点击tabBar的路由跳转active显示问题

js跳转vue

vue路由传值

Vue 路由跳转传递参数,子组件页面刷新后数据不丢失

vue_cli路由传参个人总结--完整代码