微信小程序怎样给事件传值的

发布时间:2024年01月15日
  1. 通过自定义属性传值: 在触发事件的组件上,可以通过自定义属性将需要传递的值绑定到事件对象上。在事件处理函数中,通过event.currentTarget.dataset来获取自定义属性的值。

    示例代码:

    htmlCopy Code<!-- 触发事件的组件 -->
    <view data-value="Hello" bindtap="handleTap">点击我</view>
    
    <!-- 事件处理函数 -->
    <script>
    Page({
      handleTap(event) {
        const value = event.currentTarget.dataset.value;
        console.log(value); // 输出 "Hello"
      }
    });
    </script>
    
  2. 通过事件对象传值: 在触发事件时,可以使用event.detail将值传递给事件处理函数。在触发事件时,可以使用triggerEvent方法触发自定义事件,并通过detail选项传递值。在事件处理函数中,可以通过event.detail获取传递的值。

    示例代码:

    htmlCopy Code<!-- 触发事件的组件 -->
    <button bindtap="handleTap">点击我</button>
    
    <!-- 事件处理函数 -->
    <script>
    Component({
      methods: {
        handleTap(event) {
          const value = 'Hello';
          this.triggerEvent('customEvent', { detail: value });
        }
      }
    });
    </script>
    

    在另一个组件中监听该事件并获取传递的值:

    htmlCopy Code<!-- 监听事件的组件 -->
    <component-name bind:customEvent="handleCustomEvent"></component-name>
    
    <!-- 事件处理函数 -->
    <script>
    Page({
      handleCustomEvent(event) {
        const value = event.detail;
        console.log(value); // 输出 "Hello"
      }
    });
    </script>
    

文章来源:https://blog.csdn.net/m0_65346405/article/details/135601905
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。