vue 组件

目录

1. 什么是组件化开发

2. vue 中的组件化开发

3. vue 组件的三个组成部分

3.1 template

3.1.1 在 template 中使用指令

3.1.2 在 template 中定义根节点

3.2 组件的 script 节点

3.2.1 .vue 组件中的 data 节点必须是函数

3.2.2 script 中的 name 节点

3.2.3 script 中的 data 节点

3.2.4 script 中的 methods 节点

3.3 组件的 style 节点

  组件之间的父子关系​编辑

4.使用组件的三个步骤

4.1 组件的注册

4.1.1 注册组件的两种方式

4.1.2 通过 components 注册的是私有子组件

4.1.3 注册全局组件

 4.1.3 注册全局组件

​编辑

4.1.4 全局注册和局部注册的区别

4.1.5 组件注册时名称的大小写

4.1.6 通过 name 属性注册组件

5. 组件的 props

5.1 props 是只读的

5.2 props 的 default 默认值

5.3 props 的 type 值类型

5.4 props 的 required 必填项

5.5 props 验证 

1. 什么是 props 验证

2. 对象类型的 props 节点

3. props 验证

6. 组件之间的样式冲突问题

6.1 思考:如何解决组件样式冲突的问题

6.2 style 节点的 scoped 属性

6.3 /deep/ 样式穿透

注意: /deep/  是 vue2.x 中实现样式穿透的方案。在 vue3.x 中推荐使用 :deep( )  替代 /deep/ 。 

7. Class 与 Style 绑定

7.1 动态绑定 HTML 的 class

7.2 以数组语法绑定 HTML 的 class

7.3 以对象语法绑定 HTML 的 class

7.4 以对象语法绑定内联的 style

8. 封装组件的案例

 1. 案例效果 

2. 用到的知识点

3. 整体实现步骤

9. 总结 

注意:


1. 什么是组件化开发

组件化开发指的是:想,页面UI 结构封装为组件,从方便开发维护。

render函数中,渲染的是哪个.vue 组件,那么这个组件就叫做“根组件”

2. vue 中的组件化开发

vue 是一个支持组件化开发框架。

vue 中规定:组件的后缀名 .vue。之前接触到的 App.vue 文件本质上就是一个 vue 的组件。

3. vue 组件的三个组成部分

每个 .vue 组件都由 3 部分构成,分别是:

template -> 组件的 模板结构
script -> 组件 JavaScript 行为
style -> 组件的 样式

其中,每个组件中必template 模板结构script 行为style 样式可选的组成部分。

组件script 行为部分中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。

3.1 template

vue 规定:每个组件对应的要定 <template> 节点中。

注意:

template vue 提供的 容器标签 起到 质的 被渲 为真 DOM 元素
vue 2.x 的版本中,template 中只 包含 一的 节点
vue 3.x 的版本中 ,<template> 中支持定 多个根节

3.1.1 template 中使用指令

在组件的 <template> 节点中,支持使用前面指令件的 DOM 结构。 代码示例如下:

3.1.2 template 中定义根节点

vue 2.x 的版本中,<template> 节点内的 DOM 结构仅支持单个根节

 但是,vue 3.x 的版本中,<template> 中支持定多个根节

3.2 组件的 script 节点

vue 规定:组件内的 <script> 节点是可选的,开发 <script> 节点中封装组件的 JavaScript 业务逻辑

<script > 节点的基本结构如下:

// 默认导出。这是固定写法!
export default {
  // data 数据源
  // 注意:.vue 组件中的 data 不能像之前一样,不能指向对象。
  // 注意:组件中的 data 必须是一个函数
  data() {
    // 这个 return 出去的 { } 中,可以定义数据
    return {
      username: 'admin'
    }
  },
  methods: {
    chagneName() {
      // 在组件中, this 就表示当前组件的实例对象
      console.log(this)
      this.username = '哇哈哈'
    }
  }

3.2.1 .vue 组件中 data 节点必须是函数

vue 规定:.vue 组件中data 必须是一个函数不能数据。 因此在组件中定data 数据节点时,下面的式是误的

会导致多个组件实例题,官方出的例:

https://cn.vuejs.org/v2/guide/components.htmlhttps://cn.vuejs.org/v2/guide/components.html

#data-必须是一个函数

3.2.2 script 中的 name 节点

 可以通name 节点为当前组件定一个称:

在使vue-devtools 进行项目调试的时,自义的清晰每个 

3.2.3 script 中的 data 节点

vue 组件渲染期间需要用到,可定义data 节点中:

3.2.4 script 中的 methods 节点

组件中的事件处理函,必methods

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习前端的小陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值