<NuxtIsland>
Nuxt 提供了 <NuxtIsland> 组件,用于渲染非交互式组件,无需任何客户端 JS。
渲染 Island 组件时,Island 组件的内容是静态的,因此客户端不会下载任何 JS。
更改 Island 组件的 props 会触发对 Island 组件的重新获取以再次渲染它。
应用程序的全局样式与响应一起发送。
仅限服务器的组件在底层使用
<NuxtIsland>
属性
name
: 要渲染的组件名称。- 类型:
string
- 必填
- 类型:
lazy
: 使组件非阻塞。- 类型:
boolean
- 默认值:
false
- 类型:
props
: 要发送到要渲染的组件的 props。- 类型:
Record<string, any>
- 类型:
source
: 用于调用要渲染的 Island 的远程源。- 类型:
string
- 类型:
- dangerouslyLoadClientComponents: 加载远程源组件所需。
- 类型:
boolean
- 默认值:
false
- 类型:
远程 Islands 需要在您的
nuxt.config
中将 experimental.componentIslands
设置为 'local+remote'
。强烈不建议启用 dangerouslyLoadClientComponents
,因为您无法信任远程服务器的 JavaScript。默认情况下,组件 Islands 从
~/components/islands/
目录中扫描。因此,~/components/islands/MyIsland.vue
组件可以使用 <NuxtIsland name="MyIsland" />
进行渲染。插槽
如果已声明,槽可以传递给 Island 组件。
每个槽都是交互式的,因为父组件提供了它。
一些槽保留给 NuxtIsland
用于特殊情况。
#fallback
: 指定在 Island 加载之前(如果组件是延迟加载的)或NuxtIsland
未能获取组件时要渲染的内容。
Ref
refresh()
- 类型:
() => Promise<void>
- 描述: 通过重新获取服务器组件来强制重新获取它。
- 类型:
事件
error
- 参数:
- error:
- 类型:
unknown
- 类型:
- error:
- 描述: 当
NuxtIsland
未能获取新 Island 时发出。
- 参数: