javascript - 如何在 Nuxt 中渲染异步和动态组件?
问题描述
我正在尝试在我的应用程序中使用异步和动态组件的组合,到目前为止它看起来像这样:
<template>
<component
v-for="(component, index) in components"
:key="index"
:is="component.name"
:data="component"
/>
</template>
<script>
export default {
components: {
component1: () => import(`@/components/component1.vue`),
component2: () => import(`@/components/component2.vue`)
}
}
</script>
这可行,但我试图避免必须单独手动导入所有组件。
我尝试用:is
一种方法替换:
:is="getComponent(组件)"
<script>
//...
methods: {
getComponent(component) {
const componentName = component.name;
return () => import(`@/components/${componentName}.vue`);
}
}
</script>
最初可以工作,但随后浏览器会使用大量内存卡住,就好像它卡在无限循环中一样。
有什么建议吗?我正在使用 NUXT,但我认为这也适用于普通的 VueJS 应用程序。
解决方案
推荐阅读
- php - Laravel 过滤结果基于 post 的查询
- javascript - 模数和余数在 Scheme 中应该如何工作?
- python - 如何修复递归倒计时 python 函数的代码,使其仅打印“LIFT OFF!” 一次?
- r - 打印出 R 控制台中的所有输出
- reactjs - 开玩笑测试失败并且没有从模拟点击接收到 toHaveBeenCalled
- javascript - 将字符串中的每个第一个字符转换为大写
- c# - 设置 VS2019 社区以对 dll 进行单元测试时出现问题
- java - 从 Firebase 检索位置并将标记放在谷歌地图上
- c# - C#如何显示垂直直方图?
- angularjs - AngularJS $http.get() 在返回 bool 的本地函数中