# 1.组件名、重要方法的名称备注的规则
- 未规范命名
 
统一命名后的

组件命名规范:模块 + 实体
事件的名称方式:通过$emit()的事件已toXXXXX命名,eg: $emit(toEmit, data) 组件内的事件命名:onXXXX eg: onEmit
通过统一事件命名的方式,快速定位事件的流转。
# 2.提高函数使用,避免使用全局变量
- 尽量避免使用全局变量,使用函数返回数据的方式,减少全局变量带来的维护变量困难
onCheckAllChildrenNode(treeData, status) {
      let depList = []
      function addDept(treeData, status) {
        for (let i = 0; i < treeData.length; i++) {
          if (treeData[i].type === 'Department') {
            treeData[i]['excludeChildDepartment'] = status
            depList.push(treeData[i])
          }
          if (treeData[i].children.length > 0) {
            addDept(treeData[i].children)
          }
        }
      }
      addDept(treeData, status)
      return depList
    },
# 3.多层组件事件使用方法
组件之间事件传递超过三层组件时,可以使用provide方法暴露组件内的方法
// app.vue
provde(){
 return {
  app: ()=> this
 }
     },
    methods: {
 onPanel(data) {
  // 对data做一些处理
 }
     }
one.vue
 methods: {
 onSwitch(data) {
  // 在子组件中触发父组件的方法
  this.app().onPanel(data)
 }
    }
编撰人:yinyanting、admin
