vuex
- state
- $store.state.参数名
- mutations 同步
- mutations:{ 方法名(state,传参){ … } }
- $store.commit(方法名,传参)
- getter 用于过滤state的数据
- mapState 将getter映射到局部计算属性
- …$store.mapState([ …getter方法 ])
- actions 可异步
- $store.dispatch(方法名,参数).then(…)
- modules
$attrs的使用
$attrs是在vue的2.40版本以上添加的。
项目中有多层组件传参可以使用$attrs,可以使代码更加美观,更加简洁,维护代码的时候更方便。如果使用普通的父子组件传参prop和$emit,$on会很繁琐;如果使用vuex会大材小用,只是在这几个组件中使用,没必要使用vuex;使用事件总线eventBus,使用不恰当的话,有可能会出现事件多次执行。
如果给组件传递的数据,组件不使用props接收,那么这些数据将作为组件的HTML元素的特性,这些特性绑定在组件的HTML根元素上
inheritAttrs: false的含义是不希望本组件的根元素继承父组件的attribute,同时父组件传过来的属性(没有被子组件的props接收的属性),也不会显示在子组件的dom元素上,但是在组件里可以通过其$attrs可以获取到没有使用的注册属性, `inheritAttrs: false是不会影响 style 和 class 的绑定
