子传父的3种方式
1.Props传
通过Pros将父亲的methods方法传给子,子用 click来接收这个方法。
A(父)
<template>
<div>
<B :cutPrice="cutPrice"></B>
</div>
</template>
<script>
import B from "./B.vue";
export default {
data() {
return {};
},
activated() {},
watch: {},
created() {},
mounted() {},
methods: {
cutPrice(name){
console.log(name);
}
},
components: {B},
};
</script>
<style>
</style>
B(子)
<template>
<div>
<button @click="cutPrice(1)"></button>
</div>
</template>
<script>
export default {
props:["cutPrice"],
data() {
return {
}
},
activated() {
},
watch: {
},
created(){
},
mounted(){
},
methods:{
}
}
</script>
<style>
</style>
2.官方$emit
A(父) 自定义一个事件,在子中去触发
<template>
<div>
<B @updatePrice="cutPrice"></B>
</div>
</template>
<script>
import B from "./B.vue";
export default {
data() {
return {};
},
activated() {},
watch: {},
created() {},
mounted() {},
methods: {
cutPrice(name) {
console.log(name);
},
},
components: { B },
};
</script>
<style>
</style>
子(B)
<template>
<div>
<button @click="xx">123</button>
</div>
</template>
<script>
export default {
data() {
return {};
},
activated() {},
watch: {},
created() {},
mounted() {},
methods: {
xx(){
this.$emit("updatePrice",11)
}
},
};
</script>
<style>
</style>
3.通过在子$parent调用父亲A中的属性
A(父亲)
<template>
<div>
<B></B>
</div>
</template>
<script>
import B from "./B.vue";
export default {
data() {
return {};
},
activated() {},
watch: {},
created() {},
mounted() {},
methods: {
cutPrice(name) {
console.log(name);
},
},
components: { B },
};
</script>
<style>
</style>
B(子)
<template>
<div>
<button @click="xx">123</button>
</div>
</template>
<script>
export default {
data() {
return {};
},
activated() {},
watch: {},
created() {},
mounted() {},
methods: {
xx(){
// this.$emit("updatePrice",11)
// console.log(this.$parent);
this.$parent.cutPrice(22)
}
},
};
</script>
<style>
</style>

浙公网安备 33010602011771号