Vue之组件化开发


一、组件化开发思想

一块一块的,标准,分治,重用,组合;
在这里插入图片描述
跟之前的布局思想差不多吧,页面是一个一个盒子组成的,然后这个盒子的代码单独去写
在这里插入图片描述
组件化规范:Web Components但是有浏览器兼容问题;Web Components通过创建封装好功能的定制元素解决上述问题,Vue部分实现了上述规范;

二、Vue调试工具用法

组件最终也会渲染成DOM,为了区别层次关系可以使用Vue调试工具,
首先需要安装Vue-Devtools参考但是在参考这个方法安装的时候出现了错误
在这里插入图片描述
查找资料以后安装旧版本5.1.1
参考2
安装5.1.1之后成功

三、组件注册方式

1. 组件注册方式

组件就是把一个功能封装成可以重复利用的代码,比如下面的按钮,可以直接复制使用实现一样的效果;
在这里插入图片描述

2. 组件注册注意事项

  • data必须是一个函数,使用函数形成了一个闭包的坏境保证每个实例有一份独立的数据;
  • 组件模板内容必须是单个根元素,不能有兄弟节点,但是可以是一个父亲包含几个儿子;
  • 组件模板内容可以是模板字符串,当内容过多的时候使用模板字符串结构看起来更加清晰;
  • 组件命名方式如果使用驼峰式命名组件,那么在使用组件的时候,只能在字符串模板中用驼峰的方式使用组件,但是
    在普通的标签模板中,必须使用短横线的方式使用组件
    在定义的时候用的HelloWorld使用的时候是hello-world
    在这里插入图片描述

3. 局部组件注册方式

局部组件只能在注册它的父组件中使用,自定义指令也是这样的,局部自定义指令只能在注册它的范围中应用;
在这里插入图片描述

四、组件间的数据交互方式

1. 父组件向子组件传值

  • 组件内部通过props接收传递过来的值,子组件通过props来接收父组件传过来的值
  • 父组件通过属性将值传给子组件
    在这里插入图片描述
  • 在props中用的是驼峰命名,但是子组件使用的时候需要用-形式,字符串形式模板没有这个限制,这个和当初的组件命名规则类似;
    在这里插入图片描述
  • props属性值类型
    props属性值类型有字符串String、数值Number、布尔值Boolean、数组Array、对象Object
    String就正常的传递,但是Number
    在这里插入图片描述

2. 子组件向父组件传值

props传递数据原则:单向数据流 不在子组件操作父组件传过来的数据,所以父组件需要监听子组件事件,子组件要通过自定义事件向父组件传递信息

  • 子组件通过自定义事件向父组件传递信息
  • 父组件监听子组件事件
    在这里插入图片描述
    在这里插入图片描述

3. 非父子组件传值

可以当作兄弟之间的传值,不再使用props而是有一个事件中心管理组件间的通信;
在这里插入图片描述
比如下面的TOM和JERRY是兄弟组件然后点击TOM使得JERRY+2,点击JERRY使得TOM+1;
在这里插入图片描述
在这里插入图片描述
具体代码:
在这里插入图片描述

五、组件插槽用法

父组件向子组件传递内容,这里的内容指的是模板
在这里插入图片描述

  • 插槽方式
    在这里插入图片描述
    页面显示结果如下:
    在这里插入图片描述
  • 具名插槽用法,有名字的插槽
    在这里插入图片描述
  • 作用域插槽
    在这里插入图片描述

六、基于组件的方式实现业务功能

1. 购物车案例

效果图:
在这里插入图片描述
按照上面的分为三个组件,标题组件,列表组件,结算组件;
在这里插入图片描述
完整代码:D:\web_study\vue\day03组件化开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值