方法一:一层层的调用。
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()
}
}
}