vue的父子组件生命周期
初始化时
父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted
父子组件更新时
父beforeUpdate->子beforeUpdate->子updated->父updated
JQuery与vue的区别
vue.js的核心是数据驱动视图,对视图的修改,不会直接的操作dom,而是通过修改数据来更新视图。jQuery则是直接的操作dom,这样虽然简单,但是在交互比较复杂时,vue只关注数据的修改会让代码逻辑变得非常的清晰,所有逻辑都是对数据的修改,而非改动dom,代码也更易于维护。
Vuex
vuex本质上是一个store仓库,用来存储数据状态
1、vuex的状态是响应式的
2、vuex的状态是无法直接改变的,需要通过commit提交来改变
store(仓库):state 状态对象
getter 获取状态
mutation commit提交状态改变(同步函数)
action 异步操作,dispatch触发,非直接更新状态,而是提交mutation来更新状态
module 模块,可以将store分割成不同的模块,每个模块独有独自的state、getter、mutation、action,设置namespace为true访问各个模块
vue组件传参
- 父子组件传参props和emit
- 多层组件传参provide/inject和$attrs/ $listeners
- 兄弟组件传参$bus和vuex
v-show和v-if
v-show使用的是css的display:none不会删除dom,v-if会直接删除dom,如果v-if默认为false,dom将不会渲染,所以但需要经常操作显隐时使用v-show,否则使用v-if