Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如何访问深度嵌套父级中的方法[Vue][Vuetify]_Vue.js_Components_Vuetify.js_Parent - Fatal编程技术网

Vue.js 如何访问深度嵌套父级中的方法[Vue][Vuetify]

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

我制作了一个具有v-data-table的Vue组件

子组件

    <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,但我想使用它不是这样的,因为它是一个来自子对象的简单方法调用。我想的是,在孩子身上引用父母的方法。