@blokwise/dynamic

Load components initialized through @nuxt/components dyamically.
11,169 57
Install
npm install @blokwise/dynamic
Latest Version:1.5.0
License:MIT
Last Updated:Nov 8, 2022
Links: GitHub  ·  npm
Maintainer: aerophobic

@blokwise/dynamic

Read the official docs

Installation

Add @blokwise/dynamic dependency to your project:

yarn add @blokwise/dynamic
npm install @blokwise/dynamic

Then, add @blokwise/dynamic to the modules section of nuxt.config.js:

{
  modules: [
    '@blokwise/dynamic'
  ],
}

Props

component

  • Type: String

The name of the component which should be imported. If the component was initialized with a prefix in @nuxt/components config, it should be loaded as such. Nevertheless it is possible to ommit the prefix to automatically detect the right component (if there are no conflincting names).

Heads up: Starting with version v1.4.0 the prop component replaces the deprecated prop name. Passing the component name by using name still works through $attrs.name internally. However, this workaround will be removed in the next major version (v.2.0.0+).

hydration

  • Type: String
  • Default: 'WhenIdle'
  • Options: 'WhenIdle', 'WhenVisible', 'OnInteraction', 'Never'

The hydration prop controls when / how the component will be hydrated. The hydration is implemented with vue-lazy-hydration thanks to Markus Oberlehner.

componentRef

  • Type: String or Number
  • Default: null

The componentRef prop adds a reference to the child component.

Usage

Use dynamic component

The dynamic component will be loaded as NuxtDynamic. The component will be loaded whether you pass the name prefix or not. So in the following case it could load a component called Logo without prefix or a component called BlokwiseLogo which is prefixed with Blokwise according to @nuxt/components configuration of your project / third party libraries.

<template>
  <NuxtDynamic component="Logo" />
</template>

Load the component lazily

The dynamic component can be loaded lazily as LazyNuxtDynamic.

<template>
  <LazyNuxtDynamic component="Logo" />
</template>

Related Packages

nuxt-logger

logger module for nuxtjs

9,387 4
@nuxt-hero-icons/outline

A set of free MIT-licensed high-quality SVG icons as Vue functional components.

5,626 4
nuxt-seo-meta

nuxtjs seo meta generator

1,378 43
vue-crudengine

Crudengine frontend api plugin for vuejs

1,097 3
@nuxtjs/redirect-module

Nuxt module to dynamically redirect initial requests

248,427 307

Version History

Version Released License
1.5.0 MIT
1.4.1 MIT
1.4.0 MIT
1.3.1 MIT
1.3.0 MIT
Pre-releases (7)
Version Released Vue License
2.0.0-6 ^3.0 MIT
2.0.0-5 ^3.0 MIT
2.0.0-4 ^3.0 MIT
2.0.0-3 ^3.0 MIT
2.0.0-2 ^3.0 MIT