Vue:从组件内部的库(Bootstrap-Vue)延迟加载
Vue: lazy loading from library (Bootstrap-Vue) inside a component
我正在探索延迟加载功能,并尝试将其用于 Bootstrap-Vue 组件,但它不起作用。
如果我导入 b-card
"normally",它会正确渲染:
import { BCard } from 'bootstrap-vue';
export default {
components: {
BCard
}
};
但是当我尝试 'lazy-load' 语法时它不起作用:
export default {
components: {
BCard: () => import('bootstrap-vue').BCard
}
};
b-card
组件未渲染,但未抛出任何错误,在 Chrome 的 DOM 检查工具中,我可以看到占位符 <!---->
已放置通过 Vue b-card
组件应该在哪里。我怀疑加载的库对象没有 BCard
属性,但我不知道如何使用 'lazy' 语法访问库组件。
是否可以从库中延迟加载模块?怎么做?
动态导入模块时,您使用 import
关键字作为函数,它 returns 是一个承诺。因此,要访问模块组件,您可以使用以下语法:
export default {
components: {
BCard: () => import('bootstrap-vue').then(module => module.BCard)
}
}
我正在探索延迟加载功能,并尝试将其用于 Bootstrap-Vue 组件,但它不起作用。
如果我导入 b-card
"normally",它会正确渲染:
import { BCard } from 'bootstrap-vue';
export default {
components: {
BCard
}
};
但是当我尝试 'lazy-load' 语法时它不起作用:
export default {
components: {
BCard: () => import('bootstrap-vue').BCard
}
};
b-card
组件未渲染,但未抛出任何错误,在 Chrome 的 DOM 检查工具中,我可以看到占位符 <!---->
已放置通过 Vue b-card
组件应该在哪里。我怀疑加载的库对象没有 BCard
属性,但我不知道如何使用 'lazy' 语法访问库组件。
是否可以从库中延迟加载模块?怎么做?
动态导入模块时,您使用 import
关键字作为函数,它 returns 是一个承诺。因此,要访问模块组件,您可以使用以下语法:
export default {
components: {
BCard: () => import('bootstrap-vue').then(module => module.BCard)
}
}