小编Sux*_*sem的帖子

在 Ionic Vue 应用程序中使用选项卡时导航到不同路线的问题

我是一名经验丰富的前端开发人员,但我对 Ionic 很陌生,所以请原谅我问了一个愚蠢的问题。

我正在使用 Ionic-Vue 创建移动应用程序。

我从选项卡默认模板开始。我可以毫无问题地在选项卡之间切换:每个选项卡都有关联的路线和组件,并且当我切换选项卡时会立即显示正确的组件。

现在来说说问题。

我正在尝试为登录屏幕添加新的路由/组件。我希望登录屏幕位于选项卡系统之外,因此我将其作为顶级路由“/login”及其关联组件。我在第一个选项卡上添加了一个新按钮以便登录,这就是代码。

<ion-button href="/login">LOGIN</ion-button>
Run Code Online (Sandbox Code Playgroud)

但是,当我按下按钮时,整个页面都会重新加载,切换组件所需的时间比我浏览不同选项卡时要多得多。在我看来,它没有使用内部路由器,而是更改了页面的实际 URL,导致整个应用程序再次向服务器请求。我认为这与我使用选项卡默认模板有关,也许如果您使用选项卡就不能拥有独立的路由?

这是我的路由表:

const routes: Array<RouteRecordRaw> = [
  {
    path: '/',
    redirect: '/tabs/home'
  },
  {
    path: '/tabs/',
    component: Tabs,
    children: [
      {
        path: '',
        redirect: 'home'
      },
      {
        path: 'home',
        component: () => import('@/views/Home.vue')
      },
      {
        path: 'tab1',
        component: () => import('@/views/Tab1.vue')
      },
      {
        path: 'tab2',
        component: () => import('@/views/Tab2.vue')
      },
      {
        path: 'tab3',
        component: () => import('@/views/Tab3.vue')
      }
    ]
  },
  {
    path: '/login',
    component: () => …
Run Code Online (Sandbox Code Playgroud)

javascript ionic-framework vue.js vue-router ionic-vue

3
推荐指数
1
解决办法
3105
查看次数

将所有 ionic 组件导入 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)

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

ionic-framework vue.js ionic-vue

2
推荐指数
1
解决办法
1499
查看次数