笔记

113 阅读3分钟

1、vue data 为什么是个函数不是对象

2、computed和wacth的区别?computed支持传参数吗?监听对象的方法?

3、双向数据绑定的原理?

4、vue动态绑定class的最常用几种方式?

5、父子组件的渲染顺序?

6、父子组件的传值方法?

7、export和export default有什么区别?怎么使用

8、html的解析过程

9、position的有哪几个值,哪个脱离文档流

10、伪类和伪元素有哪些

10、

image.png

image.png

9、position属性有以下属性值:
absolute、fixed、relative、static、sticky、inherit、initial。 一共属性会使元素脱离文档流: (1)浮动(2)绝对定位(3)固定定位元素脱离文档流会导致父元素高度塌陷,要修复高度塌陷问题,可以将子元素与父元素放在同一个BFC中

8、在HTML 文档的解析过程中,解析器遇到并执行脚本,HTML 文档的解析将被阻塞,直到脚本执行完毕。 如果脚本是外部的,那么解析过程会停止,直到从网络抓取资源并解析和执行完成后,再继续解析后续内容。 理论上来说,应用样式表不会更改DOM 树,因此似乎没有必要等待样式表并停止文档解析

解析渲染该过程主要分为以下步骤:

  1. 解析HTML
  2. 构建DOM树
  3. DOM树与CSS样式进行附着构造呈现树
  4. 布局
  5. 绘制

7、

  • 在一个文件或模块中,export、import可以有多个,export default仅有一个
  • 通过export方式导出,在import时导入时需要加{ }
  • 通过export default,在import时导入时不需要加{ }
  • 使用export default命令,为模块指定默认输出,不需要知道加载模块的变量名

6、8种 juejin.cn/post/684490… props/$emit

parent/parent / children与 ref

emit/emit/on

vuex

attrs/attrs/listeners

provide/inject

1、 vue组件就是一个vue实例

JS中的实例是通过构造函数来创建的,每个构造函数可以new出很多个实例,那么每个实例都会继承原型上的方法或属性。

vuedata数据其实是vue原型上的属性,数据存在于内存当中

vue组件为了保证每个实例上的data数据的独立性,规定了必须使用函数,而不是对象。 因为使用对象的话,每个实例(组件)上使用的data数据相互影响的,这当然就不是我们想要的了。 对象是对于内存地址的引用,直接定义个对象的话组件之间都会使用这个对象,这样会造成组件之间数据相互影响 gaocarri.top/post/vue%E5…

4、 juejin.cn/post/684490… 1.绑定单个class 第二种: (绑定的数据对象) 第三种:(绑定一个返回对象的计算属性) 第四种:(单纯数组方法) 第五种: (数组与三元运算符结合判断选择需要的class)

5、

加载渲染过程

父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted

子组件更新过程

父beforeUpdate->子beforeUpdate->子updated->父updated

父组件更新过程

父beforeUpdate->父updated

销毁过程

父beforeDestroy->子beforeDestroy->子destroyed->父destroyed