Chuyển tới nội dung chính

Page

Cú pháp

<zmp-page>

Mỗi component (*.vue) trong folder pages phải được bọc trong component Page.

Component Page hiển thị nội dung trang khi ứng dụng có nhiều routes và sử dụng router. Các route được đọc từ trường pages trong file app-config.json) hoặc khai báo trong prop routes của component App.

Page Properties

PropTypeDefaultDescription
namestringPage name
stackedbooleanBật cho trang hiện đang không active khi sử dụng stackedPages Router parameter sẽ giữ tất cả trang trên DOM
page-contentbooleantrueKhi bật sẽ tự động thêm page-content element bên trong page element. Set bằng false khi sử dụng page-content elements cho tabs
tabsbooleanBật nếu sử dụng page giống như một Tabs wrapper
no-swipebackbooleanTắt tính năng swipeback cho trang hiện tại (Trên IOS)
with-subnavbarbooleanBật khi trang có sử dụng Sub Navbar
no-navbarbooleanBật khi sử dụng chung Navbar layout và muốn ẩn Navbar chung (Hoặc sử dụng một Navbar khác) trên trang
no-toolbarbooleanBật khi sử dụng chung Toolbar/Tabbar layout và muốn ẩn Navbar chung (Hoặc sử dụng một Toolbar/Tabbar khác) trên trang
hide-bars-on-scrollbooleanẨn Navbar & Toolbar khi cuộn trang
hide-navbar-on-scrollbooleanẨn Navbar khi cuộn trang
hide-toolbar-on-scrollbooleanẨn Toolbar khi cuộn trang
ptrbooleanBật Pull To Refresh
ptr-distancenumberTùy chỉnh pull to refresh khoảng cách trigger. Mặc định là 44px.
ptr-preloaderbooleantrueTắt nếu muốn tắt preloader
ptr-bottombooleanfalseBật pull to refresh từ cuối trang
infinitebooleanBật Infinite Scroll
infinite-topbooleanBật infinite scroll tại đầu trang
infinite-distancenumberKhoảng cách từ cuối trang (tính theo px) sẽ trigger infinite scroll event. Mặc định là 50px
infinite-preloaderbooleantrueTắt nếu muốn tắt preloader

Page Events

EventPropDescription
@page:mountedon-page-mountedEvent sẽ được triggered khi trang với keepAlive route được mounted/attached vào DOM
@page:initon-page-initEvent sẽ được triggered sau khi Zalo Mini App khởi tạo các components được yêu cầu và navbar
@page:reiniton-page-reinitEvent sẽ được triggered trong trường hợp chuyển đến trang đã được khởi tạo.
@page:beforeinon-page-before-inEvent sẽ được triggered khi tất cả mọi thứ đã được khởi tạo và trang sẵn sàng chuyển sang view
@page:afterinon-page-after-inEvent sẽ được triggered sau khi trang được chuyển sang view
@page:beforeouton-page-before-outEvent sẽ được triggered ngay trước khi trang sẽ chuyển ra khỏi view
@page:afterouton-page-after-outEvent sẽ được triggered sau khi trang sẽ chuyển ra khỏi view
@page:beforeunmounton-page-before-unmountEvent sẽ được triggered khi trang với keepAlive route được unmounted/detached khỏi DOM
@page:beforeremoveon-page-before-removeEvent sẽ được triggered ngay trước khi trang bị xóa khỏi DOM. Sử dụng khi detach các events / destroy các plugins giúp giải phóng vùng nhớ. Event sẽ không triggered trên keepAlive routes.
@page:tabshowon-page-tab-showEvent sẽ được triggered khi component cha Tab View của trang xuất hiện
@page:tabhideon-page-tab-hideEvent sẽ được triggered Khi component cha Tab View của trang ẩn đi
@ptr:pullstarton-ptr-pull-startEvent sẽ được triggered when you start to move pull to refresh content
@ptr:pullmoveon-ptr-pull-moveEvent sẽ được triggered trong khi người dùng kéo để tải lại nội dung
@ptr:pullendon-ptr-pull-endEvent sẽ được triggered khi người dùng thả ra để tải lại nội dung
@ptr:refreshon-ptr-refreshEvent sẽ được triggered khi pull to refresh chuyển sang trạng thái "refreshing"
@ptr:doneon-ptr-doneEvent sẽ được triggered sau khi pull to refresh thực hiện xong và trở về trạng thái ban đầu
@infiniteon-infiniteEvent sẽ được triggered khi trang đựợc cuộn tới vị trí đã được khai báo sẽ trigger event

Page Slots

Component Page hỗ trợ các slots giúp tùy chỉnh component:

  • default - element element sẽ được thêm dưới dạng child của "page-content" element khi page-content prop được bật (mặc định)
  • fixed - element sẽ được chèn dưới dạng phần tử con trực tiếp của "page" ngay trước "page-content" element
Code demo fallback when rendering server side!

Ví dụ

Infinite Scroll

Code demo fallback when rendering server side!

Pull To Refresh

Code demo fallback when rendering server side!