Vue.js 如何访问深度嵌套父级中的方法[Vue][Vuetify]
我制作了一个具有v-data-table的Vue组件 子组件Vue.js 如何访问深度嵌套父级中的方法[Vue][Vuetify],vue.js,components,vuetify.js,parent,Vue.js,Components,Vuetify.js,Parent,我制作了一个具有v-data-table的Vue组件 子组件 <template> <div> <v-data-table> <template v-slot:item.actions="{ item }"> <v-tooltip bottom> <template v-slot:ac
<template>
<div>
<v-data-table>
<template v-slot:item.actions="{ item }">
<v-tooltip bottom>
<template v-slot:activator="{ on, attrs }">
<v-icon @click="validation(item)"> mdi-check <v-icon/>
<span> Validar movimentação </span>
</v-tooltip>
</template>
</v-data-table>
</div>
</template>
<script>
export default {
name: "ViewDraftTable",
data() {
return {
movimentacoesSalvasHeader: [...]
}
},
methods: {
validation(item) {
this.$parent.$parent.$parent.$parent.$parent.$parent.$parent.validateMov(item)
},
}
}
</script>
mdi检查
瓦利达尔·莫维萨昂
导出默认值{
名称:“ViewDraftTable”,
数据(){
返回{
MOVIMENTACOSSALVASHEADER:[…]
}
},
方法:{
验证(项目){
此.$parent.$parent.$parent.$parent.$parent.$parent.$parent.validateMov(项目)
},
}
}
在父级中,我有validate()
方法。
我应该如何调用此方法,而不必在嵌套的
$parents
中导航?您应该看看这样的状态管理库
或者使用提供/注入一种解决方案是使用,其中父级提供
s方法,深层嵌套子级可以在需要时注入
:
//Parent.vue
导出默认值{
提供(){
返回{
验证(项目){
/*执行验证*/
}
}
}
}
//ViewDraftTable.vue
导出默认值{
注入:{
验证:{
默认值:项=>{/*执行默认验证*/}
}
},
方法:{
瓦利达考(项目){
此。验证(项目)
}
}
}
Thx,我知道Vuex,但我想使用它不是这样的,因为它是一个来自子对象的简单方法调用。我想的是,在孩子身上引用父母的方法。