ek.loadFontFace
支持 Promise
动态加载网络字体,文件地址需为下载类型。
参数
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
family | string | 是 | 定义的字体名称 | |
source | string | 是 | 字体资源的地址 | |
desc | Desc | 否 | 可选的字体描述符 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
Desc
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
style | string | normal | 否 | 字体样式,可选值为 font-style |
weight | string | normal | 否 | 字体粗细,可选值为 font-weight |
variant | string | normal | 否 | 设置小型大写字母的字体显示文本,可选值为 font-varint |
成功返回
属性 | 类型 | 说明 |
---|---|---|
status | string | 加载字体结果,值为 FontFace.status |
Example
vue
<template>
<div :class="loaded ? 'font-loaded' : ''">{{ fontFamily }}</div>
<button type="primary" @click="load">加载字体</button> <button @click="clean">清除字体</button>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const fontFamily = 'Bitstream Vera Serif Bold'
const loaded = ref(false)
const load = async () => {
await ek.loadFontFace({
family: fontFamily,
source: 'url("https://sungd.github.io/Pacifico.ttf")'
})
loaded.value = true
}
const clean = () => {
loaded.value = false
}
</script>
<style scoped>
.font-loaded {
font-family: 'Bitstream Vera Serif Bold';
}
</style>