Adds an event handler that runs when the cart changes.
The event handler set by the onCartChange()
function runs when the cart changes.
The onCartChange()
event handler is triggered when:
refreshCart()
function is called.Important: Actions performed by Velo functions other than the refreshCart()
function do not trigger the onCartChange()
event handler.
function onCartChange(handler: function): Promise<void>;
handler(): void
The name of the function or the function expression to run when the cart is changed.
import { createClient } from "@wix/sdk";
import { site } from "@wix/site";
import { ecom } from "@wix/site-ecom";
import wixEcomBackend from "wix-ecom-backend";
const wixClient = createClient({
host: site.host(),
modules: { ecom },
});
// handler function that gets the current cart on cart change
const handler = async () => {
// The wixEcomBackend.currentCart module is universal.
// You can call its methods in frontend and backend code.
try {
const cart = await wixEcomBackend.currentCart.getCurrentCart();
let cartId = cart._id;
console.log("cart ID: ", cartId);
} catch (error) {
console.error(error);
// Handle the error
}
};
await wixClient.ecom.onCartChange(handler);
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.