加载器
创建一个加载器
示例
类型
js
function useLoader(
resource: ResourceItem | ResourceItem[],
options?: UseLoaderOptions
): UseLoaderReturnValue
说明
第一个参数是要加载的资源。第二个参数可选,它是传入函数的配置项。
参数
ResourceItem
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
name | 资源名称 | string | - |
type | 资源类型 | ResoureType | - |
path | 资源路径 | string | - |
UseLoaderOptions
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
loadImmediately | 立即加载的模型 | 'all' | string[] | undefined | undefined |
enableDracoLoader | 是否启用draco压缩 | boolean | false |
dracoDecoderPath | draco的路径 | string | https://cdn.jsdelivr.net/npm/draco-web-decoder@1.0.0/dist/index.min.js |
getContentLengthMode | 自动获取资源大小的模式。 fetch: 使用额外的fetch请求获取资源大小。file: 加载时获取资源大小,不发送额外请求 | 'fetch' | 'file' | 'fetch' |
UseLoaderReturnValue
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
loading | 是否加载 | Ref<boolean> | - |
loadQuantity | 加载数量 | Ref<number> | - |
loader | 加载器 | Loader | - |
Loader
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
resourceMap | 资源Map | Map<string, ReturnResourceItem> | - |
resourceList | 资源列表 | readonly Ref<ReturnResourceItem[]> | - |
loadProgress | 加载进度 | LoadingProgress | - |
load | 加载资源 | (resource: string | string[]) => Promise | - |
add | 添加资源 | (resource: ResourceItem | ResourceItem[]) => void | - |
remove | 移除资源 | (names: string | string[]) => void | - |
has | 获取资源是否加载完成 | (name: string) => boolean | - |
ReturnResourceItem
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
name | 资源名称 | string | - |
type | 资源类型 | ResoureType | - |
path | 资源路径 | string | - |
resource | 资源 | any | - |
isLoad | 是否加载完成 | boolean | false |
contentLength | 资源大小 | number | 0 |
LoadingProgress
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
[name: string] | 资源的名称 | LoadingProgressItem | - |
LoadingProgressItem
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
total | 资源大小 | number | 0 |
progress | 加载进度 | number | 0 |