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实现非路由跳转以及数据传递 的全部内容, 来源链接: utcz.com/z/379990.html