為何捐款
API 瀏覽器
佈局頁面

我們將討論在 QLayout 中封裝頁面。如果您還沒有讀過,請先閱讀 QLayout 文件頁面。

載入 QPageContainer API...
載入 QPage API...

佈局建構器

點擊下方按鈕來建立您的佈局。

佈局建構器

用法

QPage 必須由 QPageContainer 封裝,而 QPageContainer 必須是 QLayout 的子元素。

<q-layout>
  ...
  <q-page-container>
    <q-page>
      <!-- page content -->
    </q-page>
  </q-page-container>
  ...
</q-layout>

通常,QPageContainer 是佈局模板的一部分 (其中包含一個 <router-view /> 子元素),其內容會放到 /src/pages 下的個別 vue 檔案中。如果您還沒有讀過,請先閱讀搭配佈局和頁面的路由

<!-- vue file for Layout: -->
<q-layout>
  ...
  <q-page-container>
    <router-view />
  </q-page-container>
  ...
</q-layout>

<!-- vue file for a Page: -->
<q-page padding>
  <!-- page content -->
</q-page>

範例

提示

由於 QPageContainer 和 QPage 需要佈局,而 QLayout 預設管理整個視窗,因此為了示範目的,我們將使用容器化的 QLayout。但請記住,您絕不一定要對 QPageContainer 和 QPage 使用容器化的 QLayout。

基本



Style-fn

QPage 需要 QLayout,因為 QLayout 控制頁面的所有偏移量,並根據其 view 屬性配置來計算頁首/頁尾/抽屜使用的空間。預設情況下,您的 QPage 元件將設定 min-height CSS 屬性,以確保內容始終填滿螢幕,即使內容只有幾行。

如果您希望調整甚至移除此屬性,可以使用 style-fn 屬性

<template>
  <q-page :style-fn="myTweak">...</q-page>
</template>

<script>
export default {
  // ...
  methods: {
    myTweak (offset) {
      // "offset" is a Number (pixels) that refers to the total
      // height of header + footer that occupies on screen,
      // based on the QLayout "view" prop configuration

      // this is actually what the default style-fn does in Quasar
      return { minHeight: offset ? `calc(100vh - ${offset}px)` : '100vh' }
    }
  }
}
</script>