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>
3。在另一个组件中监听该事件并获取传递的值:
htmlCopy Code<!-- 监听事件的组件 --> <component-name bind:customEvent="handleCustomEvent"></component-name> <!-- 事件处理函数 --> <script> Page({ handleCustomEvent(event) { const value = event.detail; console.log(value); // 输出 "Hello" } }); </script>