模块的含义

vue的组件化编程(2022-04-23学习笔记)_前端

组件的含义

vue的组件化编程(2022-04-23学习笔记)_构造函数_02


vue的组件化编程(2022-04-23学习笔记)_html_03

模块化

vue的组件化编程(2022-04-23学习笔记)_前端_04

组件化

vue的组件化编程(2022-04-23学习笔记)_原型对象_05

非单文件组件和单文件组件

一个.vue都是一个单文件组件,我们都使用单文件组件。

vue的组件化编程(2022-04-23学习笔记)_前端_06


非单文件组件是,我们在一个html结构中有很多个组件。

创建组件

vue的组件化编程(2022-04-23学习笔记)_前端_07


组件在创建的时候从来不说为谁服务。

vue的组件化编程(2022-04-23学习笔记)_原型对象_08


在组件中,​​data​​只能写成函数的形式。

假如我们使用的是对象,指向很多不同的地方,每个地方修改所有地方都会修改。

我们写成函数的形式,每一次应用组件,都是给我们返回一个全新的对象,修改对象与别的组件互不影响。

使用组件:创建组件—》注册组件—》使用组件。

vue的组件化编程(2022-04-23学习笔记)_html_09


组件的属性名和属性值我们最好写成一样的。

vue的组件化编程(2022-04-23学习笔记)_原型对象_10


vue的组件化编程(2022-04-23学习笔记)_vue.js_11

有数据有结构的组件:

vue的组件化编程(2022-04-23学习笔记)_原型对象_12


vue的组件化编程(2022-04-23学习笔记)_构造函数_13

总结

vue的组件化编程(2022-04-23学习笔记)_vue.js_14

组件命名

  1. 纯小写的字母
  2. 首字母大写,其余字母小写
  3. 多个单词之间加‘ - ’,注意加引号
  4. 多个单词每个单词的首字母都大写,其余字母小写,这只能在脚手架的环境中写,html中直接引入vue.js不支持

命名总结

vue的组件化编程(2022-04-23学习笔记)_html_15


有些时候,我们需要定义组件的时候就命名。大型项目中我们会命名。

vue的组件化编程(2022-04-23学习笔记)_原型对象_16


如果只是创建一个对象,底层自己会调用​​extend​​。

vue的组件化编程(2022-04-23学习笔记)_构造函数_17

组件的嵌套

两个组件形成父子关系。

vue的组件化编程(2022-04-23学习笔记)_html_18


注册给谁就在谁的结构里写。

vue的组件化编程(2022-04-23学习笔记)_vue.js_19

vm只管理一个组件app。

vue的组件化编程(2022-04-23学习笔记)_html_20


容器里面干干净净,我们在注册组件​​app​​​的时候也写在​​vm​​的代码里面。

vue的组件化编程(2022-04-23学习笔记)_前端_21

VueComponent

组件的本质就是一个构造函数。

vue的组件化编程(2022-04-23学习笔记)_vue.js_22


vue的组件化编程(2022-04-23学习笔记)_原型对象_23


​vm​​​和​​vc​​是不一样的。

vue的组件化编程(2022-04-23学习笔记)_vue.js_24


vue的组件化编程(2022-04-23学习笔记)_构造函数_25


vue的组件化编程(2022-04-23学习笔记)_vue.js_26

重要的内置关系

vue的组件化编程(2022-04-23学习笔记)_构造函数_27


两者全部指向一个原型对象。

vue的组件化编程(2022-04-23学习笔记)_前端_28


d:Demo的实例对象。有隐式原型属性。

Demo:构造函数是显示原型属性。

vue的组件化编程(2022-04-23学习笔记)_vue.js_29

vue的组件化编程(2022-04-23学习笔记)_原型对象_30


vue的组件化编程(2022-04-23学习笔记)_原型对象_31

vue和VueComponent的关系

vue的组件化编程(2022-04-23学习笔记)_vue.js_32


vue做了一件事,修改了原型对象的原型对象。

vue的组件化编程(2022-04-23学习笔记)_vue.js_33


vue的组件化编程(2022-04-23学习笔记)_前端_34


vue的组件化编程(2022-04-23学习笔记)_vue.js_35


vue的组件化编程(2022-04-23学习笔记)_原型对象_36

单文件组件

.vue文件。
我们要浏览器识别我们的.vue文件。

  1. 使用webpack搭建一个工作流
  2. 使用vue的脚手架(vue使用webpack搭建的环境)

.vue文件的命名方式

推荐使用两种。

vue的组件化编程(2022-04-23学习笔记)_原型对象_37

.vue文件

vue的组件化编程(2022-04-23学习笔记)_html_38


使用插件高亮我们的代码。

vue的组件化编程(2022-04-23学习笔记)_vue.js_39


vue的组件化编程(2022-04-23学习笔记)_构造函数_40


组件需要引入,所以我们要将组件暴露出去。

分别暴露——

vue的组件化编程(2022-04-23学习笔记)_vue.js_41


统一暴露——

vue的组件化编程(2022-04-23学习笔记)_前端_42


默认暴露——

vue的组件化编程(2022-04-23学习笔记)_构造函数_43


vue的组件化编程(2022-04-23学习笔记)_html_44


我们一般喜欢默认暴露,引入比较简单。

vue的组件化编程(2022-04-23学习笔记)_原型对象_45


默认暴露的简写形式——

vue的组件化编程(2022-04-23学习笔记)_构造函数_46


我们尽量给组件取一个名字——

vue的组件化编程(2022-04-23学习笔记)_前端_47


快捷键直接调出来——

vue的组件化编程(2022-04-23学习笔记)_原型对象_48


在App.vue中,ES6中的模块化的引入——

vue的组件化编程(2022-04-23学习笔记)_构造函数_49


注册组件——

vue的组件化编程(2022-04-23学习笔记)_原型对象_50

main.js

入口文件.

vue的组件化编程(2022-04-23学习笔记)_原型对象_51

index.html

App的两种写法:

vue的组件化编程(2022-04-23学习笔记)_vue.js_52

vue的组件化编程(2022-04-23学习笔记)_vue.js_53


浏览器不支持.vue文件——

vue的组件化编程(2022-04-23学习笔记)_构造函数_54