1、vue data 为什么是个函数不是对象
2、computed和wacth的区别?computed支持传参数吗?监听对象的方法?
3、双向数据绑定的原理?
4、vue动态绑定class的最常用几种方式?
5、父子组件的渲染顺序?
6、父子组件的传值方法?
7、export和export default有什么区别?怎么使用
8、html的解析过程
9、position的有哪几个值,哪个脱离文档流
10、伪类和伪元素有哪些
10、
9、position属性有以下属性值:
absolute、fixed、relative、static、sticky、inherit、initial。
一共有三个属性会使元素脱离文档流: (1)浮动(2)绝对定位(3)固定定位元素脱离文档流会导致父元素高度塌陷,要修复高度塌陷问题,可以将子元素与父元素放在同一个BFC中
8、在HTML 文档的解析过程中,解析器遇到并执行脚本,HTML 文档的解析将被阻塞,直到脚本执行完毕。 如果脚本是外部的,那么解析过程会停止,直到从网络抓取资源并解析和执行完成后,再继续解析后续内容。 理论上来说,应用样式表不会更改DOM 树,因此似乎没有必要等待样式表并停止文档解析。
解析渲染该过程主要分为以下步骤:
- 解析HTML
- 构建DOM树
- DOM树与CSS样式进行附着构造呈现树
- 布局
- 绘制
7、
- 在一个文件或模块中,export、import可以有多个,export default仅有一个
- 通过export方式导出,在import时导入时需要加{ }
- 通过export default,在import时导入时不需要加{ }
- 使用export default命令,为模块指定默认输出,不需要知道加载模块的变量名
6、8种 juejin.cn/post/684490… props/$emit
children与 ref
on
vuex
listeners
provide/inject
1、 vue组件就是一个vue实例
JS中的实例是通过构造函数来创建的,每个构造函数可以new出很多个实例,那么每个实例都会继承原型上的方法或属性。
vue的data数据其实是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