将所有 ionic 组件导入 Ionic-Vue 视图

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)

我知道从性能的角度来看这可能很有用,但是当列表足够大以证明一点性能损失是合理的以大大简化代码时,有一种方法可以一次导入所有离子组件吗?

Tro*_*ert 6

main.js(或您创建 Vue 应用程序的任何地方):

\n
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).

\n

正则表达式确保只有组件注册为组件,它们都以 Ion 开头。该导入中的其他项目主要是函数,您需要在需要时导入它们。

\n