1.盒子模型
盒子模型分为两种
标准盒模型:content+2padding+2border+2margin
怪异盒模型:content+2margin
利用box-sizing:border-box(标准盒模型)/box-sizing:content-box(怪异盒模型)来进行设置
2.冒泡排序
3.数组去重
4.图片水平垂直居中
5.vue动态路由的使用
6.vue的生命周期
开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。
beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroyed、destroyed
-
beforeCreate中拿不到任何数据,它在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。因为在数据的初始化之前执行,所以打印方法执行结果会报错
-
created中已经可以拿到data中的数据了,但是dom还没有挂载。会判断有无el,如果没有el则停止后面的模板挂载。
在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。
使用场景:ajax请求和页面初始化 通常可以拿到挂载的数据和方法,但是因为dom没有挂载,所以无法获取DOM生成的模板,也无法获取html上的DOM
-
beforeMount 和 created 拿到的数据相同 在挂载开始之前被调用:相关的 render 函数首次被调用。
-
mounted中el被创建dom已经更新,vue实例对象中有template参数选项,则将其作为模板编译成render函数,编译优先级render函数选项 > template选项
使用场景:常用于获取VNode信息和操作,ajax请求
注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted
-
由于beforeUpdate和updated使用的比较少,一般用计算属性和watch代替,beforeUpdate数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。 你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。当我们更改Vue的任何数据,都会触发该函数。
updated由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。
该钩子在服务器端渲染期间不被调用。数据更新就会触发(vue所有的数据只有有更新就会触发),如果想数据一遍就做统一的处理,可以用这个,如果想对不同数据的更新做不同的处理可以用nextTick,或者是watch进行监听
-
beforeDestroy实例销毁之前调用。在这一步,实例仍然完全可用。
-
destroyed Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。通常使用计时器在这部销毁
7.vuex的用法
8.父子组件调用的方法
9.vue过滤器的使用方法
10.计算属性和watch的区别及用法
11.闭包
12.css3的常用的方法
13.es6中使用方法
14.vue中路由的拦截方法