【发布时间】:2021-09-20 19:22:43
【问题描述】:
我的组件有多层:
Class A > Class B > Class C > contain <button/>
我想知道如何将Class A 中的updateTest 作为我在Class C 中的按钮中的onClick 函数传递
更新 1
ClassA.vue
<template>
<ClassB @update-test="updateTest" />
</template>
<script>
import ClassB from './ClassB';
components: {
ClassB,
},
methods: {
updateTest(name, age) {
console.log(name)
console.log(age)
},
}
</script>
ClassB.vue
<template>
<div>
<ClassC
@update-test="$emit('update-test')"
/>
</div>
</template>
<script>
import ClassC from "./ClassC";
export default {
name: "ClassB",
components: {
ClassC,
},
};
</script>
ClassC.vue
<template>
<div>
<button
@click="$emit('update-test', 'Tom', '19')"
/>
</div>
</template>
<script>
export default {
name: "ClassC"
};
</script>
【问题讨论】:
-
@Boussadjra Brahim 请检查我的更新
-
是
update-test从 A 类发出的吗? -
建议您使用提供/注入,而不是发射。提供来自父母的函数并在您的孩子/孙子女中调用该函数。
-
@Boussadjra Brahim 是的,我再次更新了上面的代码,请检查
-
这个答案stackoverflow.com/a/63550379/8172857 有用吗?
标签: vue.js