时间:2021-05-25
一、简要介绍
父子组件之间的传值主要有三种:传递数值、传递方法、传递对象,主要是靠子组件的 props 属性来接收传值,下面分别介绍:
(一)传递数值
1.子组件:Header.vue
<template> <div> <!-- data对象里并没有 msg 属性,这里调用的是父类传递过来的 msg 属性 --> <h2>{{msg}}</h2> </div></template><script>export default { data() { return { } }, methods: { }, // 接收父类的传值 props: ['msg']}</script>可以看到,在子组件中的data对象里并没有 msg 属性,这里调用的是父类传递过来的 msg 属性,接收就是靠 props: ['msg']。
2.父组件Home.vue
<template> <div> <!-- 2.使用子组件,并向子组件传值 --> <v-head :msg="msg"></v-head> <br> <br> </div></template><script>// 1.引入子组件import Head from './Head.vue';export default { data() { return { msg: '我是一个组件' } }, methods: { }, components: { "v-head": Head }, // 页面刷新时请求数据 mounted() { }}</script>传值的核心思想就是,在使用子组件的地方,加上要传递的值:<v-head :msg="msg"></v-head>
(二)传递方法
传递方法的写法和传递数值一样,下面只写出关键步骤:
父组件
<template> <div> <!-- 2.使用子组件,并向子组件传值 --> <v-head :run="run"></v-head> <br> <br> </div></template><script>// 1.引入子组件import Head from './Head.vue';export default { data() { return { msg: '我是一个组件' } }, methods: { run() { alert(this.msg); } }, components: { "v-head": Head }, // 页面刷新时请求数据 mounted() { }}</script>子组件
<template> <div> <button @click="run">接收父组件的方法</button> </div></template><script>export default { data() { return { } }, methods: { }, // 接收父类的传值 props: ['run']}</script>(三)传递对象
传递对象的写法和传递数值一样,下面只写出关键步骤:
父组件
<template> <div> <!-- 2.使用子组件,并向子组件传值,这里的 this 就是 Home 组件 --> <v-head :home="this"></v-head> <br> <br> </div></template><script>// 1.引入子组件import Head from './Head.vue';export default { data() { return { msg: '我是一个组件' } }, methods: { run() { alert(this.msg); } }, components: { "v-head": Head }, // 页面刷新时请求数据 mounted() { }}</script>子组件
<template> <div> <!-- data对象里并没有 msg 属性,这里调用的是父类传递过来的 msg 属性 --> <h2>{{msg}}</h2> <br> <br> <button @click="run">接收父组件的方法</button> </div></template><script>export default { data() { return { // 调用传过来的home组件的msg属性 msg: this.home.msg } }, methods: { run() { // 调用传过来的home组件的run()方法 this.home.run(); } }, // 接收父类的传值 props: ['home']}</script>(四)传递数值类型校验
props: { 'home': Object }其他和上面类似!
以上所述是小编给大家介绍的Vue之父子组件传值详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了浅谈Vue父子组件和非父子组件传值问题,分享给大家,具体如下:1.如何创建组件1.新建一个组件,如:在goods文件夹下新建goodsList.vue
本文实例讲述了Vue常用传值方式、父传子、子传父及非父子。分享给大家供大家参考,具体如下:父组件向子组件传值是利用props子组件中的注意事项:props:[‘
前言vuex主要是是做数据交互,父子组件传值可以很容易办到,但是兄弟组件间传值,需要先将值传给父组件,再传给子组件,异常麻烦。下面这篇文章就来给大家介绍下vue
前言在做微信小程序时,觉得小组里对购物车的实现不是很完美,就自己尝试的写了下,然后用到了父子组件传值,父子组件传值的话,和vue框架上是非常相似的,以及calc
本文实例讲述了vue组件通信传值操作。分享给大家供大家参考,具体如下:父子组件通信:子组件我是子组件一{{parentMessage}}exportdefaul