vue 组件分类:
组件化开发: 一个页面 (.vue) 可能有一个或多个组件 (.vue) 组成完整的页面功能
封装的思想 , 把页面上可以重复使用的部分
封装成为一个组件,从而方便项目的开发和维护
一个页面,可以拆分成一个个组件,一个个组件就是一个独立的整体,可以拥有自己的结构。样式和行为.
1. 先定义一个组件 先创建创建一个名为 MyCom 的组件,并在 App.vue 中使用 2. 在 App.vue 中注册组件
3. 使用组件.
注意:组件的名字不能和现有的 html 标签名一致
局部样式:在 style 标签上加上 scoped 属性.
当然在父子组件都设置了 scoped 属性的情况下,父组件中怎么控制子组件中的样式,这个时候我们就需要用到.vue组件中的深度作用选择符. /deep/属性来解决这个问题
我们先来看一下他们之间的关系图.
我们先创建一个文件夹,在里面创建一个 App.vue 组件和 MyCom.vue 组件.
1. 在父传子的前提下,父组件的数据会发生通知子组件自动更新.
2. 子组件内部,不能直接修改父组件传递过来的 props (props是只读的)
意思就是父组件中的数据传过去了之后,子组件只能使用父组件传过去的数据不能修改父组件中的数据,修改之后就会报错。我们把这中现象叫做,vue 中的单项数据流
父组件传给子组件的是一个对象,子组件修改对象的属性,是不会报错的,对象是引用类型, 互相更新;但不能改变引用地址
关系图.
1. 我们现在父元素中自定义一个事件
2. 在子组件中用 $emit 语法来执行父元素中的函数代码.
总结: 父传子通讯就是在父元素中设置一个自定义属性.在子组件中用props接收.
子传父就是在父组件之中自定义一个事件在子组件中用$emit语法接收就可以调用父组件中的事件了
源码附件已经打包好上传到百度云了,大家自行下载即可~
链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
提取码: yu27
百度云链接不稳定,随时可能会失效,大家抓紧保存哈。
如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~
码云地址: http://github.crmeb.net/u/defu
Github 地址: http://github.crmeb.net/u/defu
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。