xStore.sections
Dựng lại một phần giao diện bằng AJAX mà không tải lại cả trang.
Phương thức
| Phương thức | Cú pháp | Mô tả | Từ phiên bản |
|---|---|---|---|
render |
xStore.sections.render(ids): Promise<Record<string, string>> |
Nhận MẢNG mã section, trả về map mã → HTML. Section không tồn tại trả chuỗi rỗng. | 1.0 |
Ví dụ đầy đủ
<script>
// render() nhận một MẢNG mã section và trả về map: mã → HTML.
// Section chỉ nhận biến toàn cục, không nhận biến riêng của trang đang mở —
// xem thêm trang Section động (AJAX).
async function refreshMiniCart() {
const html = await xStore.sections.render(['mini-cart']);
document.getElementById('mini-cart').innerHTML = html['mini-cart'];
}
// Dựng lại nhiều mảng giao diện trong một lần gọi.
async function refreshAfterFilter() {
const html = await xStore.sections.render(['product-grid', 'filter-summary']);
document.getElementById('product-grid').innerHTML = html['product-grid'];
document.getElementById('filter-summary').innerHTML = html['filter-summary'];
}
// Giỏ đổi thì mini-cart dựng lại — không cần gọi tay ở từng chỗ thêm hàng.
window.addEventListener('cart:updated', refreshMiniCart);
</script>
Thư viện gọi tới /api/... trên chính tên miền cửa hàng, nên không cần khai báo địa chỉ máy chủ ở bất kỳ đâu.
Xem thêm Sự kiện để giao diện tự cập nhật sau mỗi thao tác.