Vue中的组件详谈
目录
- 一、组件的注册
- 二、组件的使用
- 三、父传子
- 四、子传父
- 五、插槽
- 六、子组件给插槽传值
- 总结
一、组件的注册 组件注册需要注意的有五点:
1、data要写成函数,并且用return返回一个值,这样不同的调用才能互不影响
2、template后面跟的是飘号,就是Tab上面那个键
3、template后面的内容要写在一个大的div里面,不要分开多个div
4、props后面的是数组,因为有很多个prop
5、要保存成js文件
Vue.component("myson",{ data(){return{sonmsg:"hello son"} }, template:` 子组件内容
prop接收到的值:{{sonprop}} `, props:["sonprop"], methods:{sonclick(){this.$emit("sonemit",this.sonmsg)} }})
二、组件的使用 使用时只要注意一点就好,要先引用vue,再引用子组件
三、父传子 父传子比较简单,分成两步
1、在组件里定义prop
props:["sonprop"]
2、使用组件时,用定义的prop绑定父的值
父里面的值是这样的
data:{parentmsg:"parentmsg to sonprop"}
详细传递过程是这样的,看起来比较复杂,其实就上面说的两步
文章图片
四、子传父 子组件给父传数值要通过方法来传递,父和子各定义一个方法,然后用一个中间方法来连接,记住这个中间方法的使用就行了,步骤详细分解开挺多的
1、在子组件的template的button里使用一个点击事件
2、在子组件里定义上面使用的方法,触发一个中间方法并传递数据
sonclick(){this.$emit("sonemit",this.sonmsg)}
3、父使用子组件时,用中间方法绑定自己的方法
4、在父的方法里接收数据,这里p可以写成任意字符
parentclick(p){vm.parentmsg=p; }
详细代码图
文章图片
运行效果
文章图片
五、插槽 1、加入插槽,插槽就是在组件里留一个空位,使用组件时可以插入任意东西
在子组件某个位置定义:
使用组件时就可以在该位置添加任意标签
2、加入多个插槽时,要为每个插槽命名,使用时每个slot要放在一个template里面
定义多个插槽
template:` 子组件内容:{{sonmsg}}
分隔线111111111111111
分隔线2222222
分隔线333333333
`,
使用多个插槽,一个template放一个slot
六、子组件给插槽传值 1、在子组件template里定义中间数据emitmsg,名字可以随便
2、在父组件里用res接收,不管是多少个子组件,都是用res接收,res是结果集,如果有多个slot的话,数据都会在里面
{{res.emitmsg}}
代码展示
文章图片
显示效果:
文章图片
总结 【Vue中的组件详谈】本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- vue-cli|vue-cli 3.x vue.config.js 配置
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 2020-04-07vue中Axios的封装和API接口的管理
- Android中的AES加密-下
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解