title: Nuxt框架中內建元件詳解及使用指南(五)
date: 2024/7/10
updated: 2024/7/10
author: cmdragon
excerpt:
摘要:本文詳細介紹了Nuxt框架中
categories:
- 前端開發
tags:
- NuxtJS
- 元件
- 影像
- 最佳化
- 響應
- 預覽
- 傳送
掃描二維碼關注或者微信搜一搜:程式設計智域 前端至全棧交流與成長
Nuxt 中<NuxtErrorBoundary>
元件的使用指南與示例
Nuxt 提供了一個
安裝與配置
首先,確保你已經安裝了Nuxt.js,並且你的專案中已經啟用了Nuxt Image模組。這通常在專案建立時自動完成,如果沒有,你可以按照以下步驟操作:
npx nuxi@latest module add image
基本用法
元件可以直接替代原生[圖片上傳失敗...(image-ce4c63-1720592953905)]標籤,並輸出一個原生的img標籤,沒有任何包裝器。以下是如何使用它的基本示例:
<template>
<NuxtImg src="/path/to/image.png" />
</template>
這將建立一個指向/path/to/image.png
的img標籤。
屬性詳解
以下是一些主要的屬性及其用法:
-
src: 影像檔案的路徑。應採用目錄中靜態影像的絕對路徑形式。
<NuxtImg src="/path/to/image.png" />
-
width / height: 指定影像的寬度/高度。
<NuxtImg src="/path/to/image.png" width="200" height="200" />
-
sizes: 指定響應大小。
<NuxtImg src="/path/to/image.png" sizes="sm:200px md:400px lg:600px" />
-
densities: 為不同畫素密度的螢幕生成特殊影像版本。
<NuxtImg src="/path/to/image.png" densities="x1 x2" />
-
placeholder: 在實際影像完全載入之前顯示佔位符影像。
<NuxtImg src="/path/to/image.png" placeholder="./placeholder.png" />
-
provider: 使用其他提供程式而不是預設提供程式。
<NuxtImg provider="cloudinary" src="/remote/image.png" />
-
preset: 使用預定義的影像修飾符集。
<NuxtImg preset="cover" src="/path/to/image.png" />
-
format: 指定影像的格式。
<NuxtImg format="webp" src="/path/to/image.png" />
-
quality: 生成影像的質量。
<NuxtImg src="/path/to/image.jpg" quality="80" />
-
fit: 指定影像的尺寸。
<NuxtImg fit="cover" src="/path/to/image.png" />
-
modifiers: 使用提供程式的額外修飾符。
<NuxtImg src="/path/to/image.png" modifiers="{ roundCorner: '0:100' }" />
-
preload: 預載入影像。
<NuxtImg preload src="/path/to/image.png" />
-
loading: 控制影像的載入行為。
<NuxtImg src="/path/to/image.png" loading="lazy" />
-
nonce: 用於內容安全策略的加密隨機數。
<NuxtImg src="/path/to/image.png" :nonce="nonce" />
示例
以下是一個使用元件的完整示例,展示瞭如何結合使用多個屬性:
<template>
<NuxtImg
src="/path/to/image.png"
width="200"
height="200"
sizes="sm:100px md:200px lg:400px"
placeholder="./placeholder.png"
provider="cloudinary"
preset="cover"
format="webp"
quality="80"
fit="cover"
modifiers="{ roundCorner: '0:100' }"
preload
loading="lazy"
:nonce="nonce"
/>
</template>
在這個示例中,我們使用了多個屬性來最佳化和展示影像。
事件
元件支援原生事件,你可以透過監聽這些事件來執行特定的操作。例如:
<template>
<NuxtImg
src="/path/to/image.png"
@load="handleImageLoad"
/>
</template>
<script setup>
function handleImageLoad(event) {
console.log('Image has been loaded!', event);
}
</script>
在這個示例中,當影像載入完成時,handleImageLoad
函式將被呼叫。
Nuxt 3 中<NuxtPicture>
元件的使用指南與示例
引入元件
在 Nuxt.js 專案中,您可以直接在頁面或元件中引入 <NuxtPicture>
和 <NuxtImg>
元件。
import { NuxtPicture, NuxtImg } from '#components';
示例程式碼
解釋
高階配置
設定回退格式
自定義圖片屬性
基本用法
1. 傳送到 body
2. 客戶端傳送
餘下文章內容請點選跳轉至 個人部落格頁面 或者 掃碼關注或者微信搜一搜:程式設計智域 前端至全棧交流與成長
,閱讀完整的文章:Nuxt框架中內建元件詳解及使用指南(五) | cmdragon's Blog
往期文章歸檔:
- Nuxt框架中內建元件詳解及使用指南(四) | cmdragon's Blog
- Nuxt框架中內建元件詳解及使用指南(三) | cmdragon's Blog
- Nuxt框架中內建元件詳解及使用指南(二) | cmdragon's Blog
- Nuxt框架中內建元件詳解及使用指南(一) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(十一) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(十) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(九) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(八) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(七) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(六) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(五) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(四) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(三) | cmdragon's Blog
- Nuxt3 的生命週期和鉤子函式(二) | cmdragon's Blog