DOM 事件
某些块需要响应某些事件,以便显示最新的数据或以特定方式运行。 例如,购物车块必须监听“加入购物车”事件,以便更新购物车的内容;或者迷你购物车块,每当一个产品被添加到购物车时,它就会打开。
WooCommerce 核心事件在 WooCommerce 块中的应用
WooCommerce 核心使用 jQuery 事件来触发和监听某些事件,例如当产品被添加到或从购物车中移除时。 在 WooCommerce 块中,我们已经不再使用 jQuery,但我们仍然需要监听这些事件。 为了实现这一点,我们有一个名为 translatejQueryEventToNative() 的实用程序,它监听这些 jQuery 事件,并且每当一个事件被触发时,它会触发一个相关的 DOM 原生事件(带有 wc-blocks_ 前缀)。
WooCommerce 块事件
wc-blocks_adding_to_cart
这个事件相当于 WooCommerce 核心触发的 jQuery 事件 adding_to_cart。 它表示将产品添加到购物车的过程已发送到服务器,但尚未有任何指示表明该产品是否已成功添加。
在 WC 块中的示例用法: 迷你购物车块监听此事件以附加其依赖项。
wc-blocks_added_to_cart
这个事件相当于 WooCommerce 核心触发的 jQuery 事件 added_to_cart。 它表示将产品添加到购物车的过程已成功完成。
在 WC 块中的示例用法: 购物车和迷你购物车块(通过 useStoreCart() 钩子)监听此事件,以了解它们是否需要更新其内容。
detail 参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
preserveCartData | boolean | false | 是否保留商店中的购物车数据。 默认情况下,其值为 false,因此任何 wc-blocks_added_to_cart 事件都会使购物车数据失效,并且监听该事件的块会再次获取购物车数据。 但是,如果触发事件的代码已经更新了商店(例如:所有产品块),则可以设置 preserveCartData: true 以避免其他块再次获取数据。 |
wc-blocks_removed_from_cart
此事件等同于 WooCommerce 核心触发的 jQuery 事件 removed_from_cart。 它表示一个产品已从购物车中移除。
在 WC Blocks 中的用法示例: 购物车和迷你购物车块(通过 useStoreCart 钩子)会监听此事件,以了解它们是否需要更新其内容。