通过自定义属性传值
通过自定义属性传值: 在触发事件的组件上,可以通过自定义属性将需要传递的值绑定到事件对象上。在事件处理函数中,通过
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>
通过事件对象传值
通过事件对象传值: 在触发事件时,可以使用
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>
到这里也就结束了,希望对您有所帮助。