帖子
帖子
用户
博客
课程
显示全部楼层
22
帖子
0
勋章
54
Y币

[多端开发] 父子组件之间的事件传递问题

[复制链接]
发表于 2020-12-8 09:47:21
在子组件怎么传递一个事件给父组件?在vue中有this.$emit,那在avm中用什么?用api.sendEvent()和api.addEventListener吗?
20
帖子
1
勋章
7581
Y币
可以使用this.fire(type, data)向父组件传事件。type是父组件接收者名字,data的数据。
例如:
父组件:
  1. <template>
  2.     <view class="page" >
  3.         <goods-action onAddCart="addCart"></goods-action>
  4.     </view>
  5. </template>

  6. <script>
  7. import GoodsAction from "../../components/goods-action.stml";

  8. export default {
  9.     name: "goods-add",
  10.     methods: {
  11.         addCart() {
  12.             api.toast({msg: '父组件收到事件'});
  13.         }
  14.     }
  15. }
  16. </script>
复制代码

子组件:
  1. <template name="goods-action">
  2.     <view @click="addCart">
  3.                 <text class="btn-text">加入购物车</text>
  4.         </view>
  5. </template>

  6. <script>
  7. export default {
  8.     name: "goods-action",
  9.     methods: {
  10.         addCart() {
  11.             this.fire('addCart')
  12.         }
  13.     }
  14. }
  15. </script>
复制代码
22
帖子
0
勋章
54
Y币
常山赵子云 发表于 2020-12-8 10:24
可以使用this.fire(type, data)向父组件传事件。type是父组件接收者名字,data的数据。
例如:
父组件:

正解,感谢答疑
您需要登录后才可以回帖 登录

本版积分规则