Sux*_*sem 2 ionic-framework vue.js ionic-vue
我正在构建一个 Ionic-Vue 5 移动应用程序,我发现自己导入了很多 vue 组件只是为了将它们使用到我的视图中:
import {
IonPage,
IonHeader,
IonToolbar,
IonTitle,
IonContent,
IonInput,
IonButton,
IonAlert,
IonList,
IonItem,
IonCard,
IonCardContent,
IonCardHeader,
IonCardSubtitle,
IonLabel,
IonSpinner
} from "@ionic/vue";
export default defineComponent({
components: {
IonHeader,
IonToolbar,
IonTitle,
IonContent,
IonPage,
IonInput,
IonButton,
IonAlert,
IonList,
IonItem,
IonCard,
IonCardContent,
IonCardHeader,
IonCardSubtitle,
IonLabel,
IonSpinner
},
Run Code Online (Sandbox Code Playgroud)
我知道从性能的角度来看这可能很有用,但是当列表足够大以证明一点性能损失是合理的以大大简化代码时,有一种方法可以一次导入所有离子组件吗?
在main.js
(或您创建 Vue 应用程序的任何地方):
import * as IonComponents from \'@ionic/vue\';\n\nObject.keys(IonComponents).forEach(key => {\n if (/^Ion[A-Z]\\w+$/.test(key)) {\n app.component(key, IonComponents[key]);\n }\n});\n
Run Code Online (Sandbox Code Playgroud)\n如果是在您创建 Vue 应用程序之前,只需替换Vue.component(\xe2\x80\xa6)
为app.component(\xe2\x80\xa6)
.
正则表达式确保只有组件注册为组件,它们都以 Ion 开头。该导入中的其他项目主要是函数,您需要在需要时导入它们。
\n