如何刷新 Bigcommerce 中的迷你购物车内容?

How to refresh mini cart content in Bigcommerce?

我修改了 stencil cornerstone 主题中的迷你购物车 (cart-preview.html),问题是当我添加到购物车或使用 utils.api.cart.itemUpdate(itemId, newQty, (err, response) => {}) 更新商品数量时,购物车内容没有更新,我必须手动刷新整个页面才能显示更改。

我使用 bigcommerce 提供的 cart 对象显示商品详情,例如:

<h1>{{cart.items[0].quantity}}</h1>
    if (cartId) {
    // Get existing quantity from localStorage if found
    if (utils.tools.storage.localStorageAvailable()) {
        if (localStorage.getItem('cart-quantity')) {
            quantity = Number(localStorage.getItem('cart-quantity'));
            $body.trigger('cart-quantity-update', quantity);
        }
    }

    // Get updated cart quantity from the Cart API
    const cartQtyPromise = new Promise((resolve, reject) => {
        utils.api.cart.getCartQuantity({ baseUrl: secureBaseUrl, cartId }, (err, qty) => {
            if (err) {
                // If this appears to be a 404 for the cart ID, set cart quantity to 0
                if (err === 'Not Found') {
                    resolve(0);
                } else {
                    reject(err);
                }
            }
            resolve(qty);
        });
    });

    // If the Cart API gives us a different quantity number, update it
    cartQtyPromise.then(qty => {
        quantity = qty;
        $body.trigger('cart-quantity-update', quantity);
    });
} else {
    $body.trigger('cart-quantity-update', quantity);
}