方法一:一层层的调用。

Vue父组件:

<router-view :table_list_all="table_list_all" @get_all_order="get_all_order"></router-view>

// 获取所有的菜单属性
get_all_order () {
  console.log('get_all_order')
})

Vue子组件

<modal  @get_all_order="get_all_order"  @close="closeModal" ></modal>
get_all_order () {
  # 调用父组件的get_all_order, 加上return是返回,让子子组件调用
  return this.$emit('get_all_order')
},

Vue子子组件:

# 调用父组件的get_all_order
this.$emit('get_all_order')


方法二:使用provide/inject组件:

父组件

provide () {
  return {
    reload: this.reload
  }
},
methods: {
  reload () {
    this.isRouterAlive = false
    this.$nextTick(function () {
      this.isRouterAlive = true
    })
  }
},

子组件,或者孙子组件都可以:

export default {
  name: 'order_assessor',
  inject: ['reload'],
  data () {
    return {
      tableData: []
    }
  },
  methods: {
    delete_assessor (index, row) {
      this.reload()
    } 
  }
}