在開發應用時,經常會用到一些公用的元素,比如網頁的標題是一樣的,每個頁面都是一模一樣的標題。這時候我們有兩種方法,第一種方法是作一個公用的組件出來,第二種方法是修改默認模板。這兩種方法各有利弊,比如公用組件更加靈活,但是每次都需要自己手動引入;模板比較方便,但是隻能每個頁面都引入。
默認模板
Nuxt爲我們提供了超簡單的默認模板定製方法,只要在根目錄下創建一個app.html就可以實現了。現在我們希望每個頁面的最上邊都加入”Hello Nuxt”這幾個字,我們就可以使用默認模板來完成。
<!DOCTYPE html>
<html lang="en">
<head>
{{HEAD}}
</head>
<body>
<p>Hello Nuxt</p>
{{APP}}
</body>
</html>
這裏的{{HEAD}}
讀取的是nuxt.config.js裏的信息,{{APP}}
就是我們寫的pages文件夾下的主體頁面了。需要注意的是HEAD和APP都需要大寫。
這裏還有一個小坑需要注意,就是如果你建立了默認模板後,記得要重啓服務器。
但是默認佈局不用重啓服務器。
默認佈局
和默認模板類似的功能還有默認佈局,但是從名字上你就可以看出來,默認佈局主要針對頁面的統一佈局使用。它在根目錄的layouts/default.vue。需要注意的是在默認佈局裏不要加入頭部信息,只是關於<template>
標籤下的內容統一訂製。
還是上邊的需求,我們在每個頁面的最頂部放入“I hava a dream.”這幾個字,看一下在默認佈局裏的實現。
<template>
<div>
<p>I hava a dream.</p>
<nuxt/>
</div>
</template>
這裏的<nuxt />
就相當於我們每個頁面的內容,你也可以把一些通用樣式放入這個默認佈局裏,但是個人不建議這樣寫,會增加頁面的複雜程度。
總結:要區分默認模板和默認佈局的區別,模板可以訂製頭部信息,包括IE版本的判斷;佈局只能訂製<template>
裏的內容。