【问题标题】:"Cannot activate already activated outlet" in cordova app on iOS only仅在 iOS 上的科尔多瓦应用程序中“无法激活已激活的插座”
【发布时间】:2020-05-07 17:56:44
【问题描述】:

我在 iOS 上运行 cordova 应用时收到以下错误消息:

“无法激活已激活的插座”

单击带有[routerLink] 指令的按钮时会引发错误。

  • Angular CLI:8.1.3
  • 角度:8.1.3
  • iOS 13.3

Cordova 软件包:

"cordova-android": "^8.1.0",
"cordova-browser": "^6.0.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-device": "^2.0.3",
"cordova-plugin-ionic": "^5.4.5",

这是我的路线定义:

const routes: Routes = [
  {
    path: '',
    component: ScLayoutTopnavigationComponent,
    children: [
      {
        path: '',
        redirectTo: '/start',
        pathMatch: 'full'
      },
      {
        path: 'start',
        component: StartComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'home',
        component: HomeComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'chats',
        component: ChatsComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'chats/:id',
        component: ChatComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'profile',
        component: ProfileComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'login',
        component: LoginComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'register',
        component: RegisterComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'recover-password',
        component: RecoverPasswordComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      },
      {
        path: 'register/:secret',
        component: RegisterComponent,
        data: { title: 's', bodyClasses: ['bot-site'] }
      }

    ]
  },
  {
    path: '**',
    redirectTo: '/404'
  },
  {
    path: '404',
    component: NotFoundComponent
  }
];

我找到了this issue on GitHub,但它似乎与使用多个出口的路由有关,而我没有(我使用嵌套路由,尽管<app-root> -> <router-outlet>

不幸的是,我对 Safari 中的调试不太熟悉。由于我只能在设备上启动应用程序后进行远程调试,因此控制台在附加调试器之前会丢失输出。因此,我不确定是否还有其他我可能遗漏的错误。

所描述的错误可能是什么原因?

【问题讨论】:

    标签: ios angular cordova


    【解决方案1】:

    通过修复一个不相关的问题解决了这个问题,该问题显然随后导致了路由器错误。我之前错过了这个错误,因为我只是在应用初始化之后才附加了 Safari 调试器而错过了它。

    我终于研究了使用 Safari Web Inspector 中的按钮刷新应用程序的技巧,该按钮显示服务在其构造函数逻辑中引发错误。修复此问题解决了问题中描述的错误。

    【讨论】:

      猜你喜欢
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2018-01-16
      • 2019-03-13
      • 1970-01-01
      • 2017-06-08
      • 2019-06-28
      相关资源
      最近更新 更多