子传父的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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通