3.vue怎么优化代码
vue是组件化开发的,对代码优化主要是组件的按需加载,可以提高加载的速度,还有v-if,减少了dom总数,加快了首屏渲染,其他的就是代码层面的优化了
4.vue怎么加载页面
首先创建vue对象,对数据变化进行监听,初始化内部的事件,创建钩子函数,编译模板,挂载dom,渲染,实时监听数据,如果有变化再次进行更新,渲染。
5.谈谈你理解的虚拟dom
虚拟dom本质上是js和dom之间的一个缓存,以前一有数据改变就会渲染整个dom结构,而整个dom元素非常庞大,加载自然很慢,现在的虚拟dom,则是先用js构建一个真正的dom树插入到文档中,当数据发生改变的时候,再构建一个虚拟的dom树,比较这两个dom树之间的变化,然后只对dom操作变化的部分,这样页面更新是全新的渲染,加载速度却会快很多。
6.vue是单向数据绑定还是双向数据绑定
vue有用到v-model,数据和视图会互相影响,所以必然是双向数据绑定,但是这么做不知道数据什么时候变化,哪个数据变化了,变化后也没有通知,除非总是对数据保持监听,也比较复杂,但是父子组件之间确是单向数据流。在使用vuex的时候也是使用单向数据进行状态管理。
7.你觉得双响数据绑定和单向数据绑定哪个好
没有说绝对的哪个好,在涉及到表单的时候,还有数据变化比较频繁的时候,一般适合使用双响数据绑定。如果要实现比较复杂的状态管理,那就要用到单向数据绑定了。
8.z-index层级高的在上面还是层级低的在上面
层级高的在上面
9.什么情况这种规律会失效
用z-index的前提是对元素进行定位,所以没有使用定位的情况下,这种规律应该会失效吧
10.说一下盒子模型
盒子模型分为两种,一种是IE盒子模型,一种是W3C的盒子模型,盒子模型分为四个部分,外边界magrin,边框border,内边距padding和中间的内容content,W3C盒子模型的width 属性是内容的宽度,内容周围的 padding 和 border 值是另外计算的,IE盒子模型的width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。用box-sizing:border-box可以使内边距和边框算在已设定的宽高内。
11.怎么获取一个元素的宽和高
先通过获取到这个元素,在获取这个元素的style的width或height,vue中的话要在标签里定义ref属性,通过this.$ref.自定义名称.offsetHeight/offsetWidth来获取
网友评论