由于一些性能问题,我正在尝试升级angularJS2/phonegap应用以在iOS上使用WKWebView。Angular 2.0路由器导航无法在iOS上工作WKWebView
不幸的是,任何路由导航呼叫都不起作用。这包括拨打routerlink
和this.route.navigate
。没有错误被抛出。有没有其他人看到这个和/或可能有解决方法?
该代码可以正常使用UIWebView工作。
我是Angular的新手,欢迎任何建议。
下面是一些相关的代码看起来像:
import { Component } from "@angular/core";
import { Routes, Router, ActivatedRoute } from "@angular/router";
import { LoggedInCallback } from "./service/cognito.service";
export class HomeComponent implements LoggedInCallback {
constructor(public router:Router){
}
isLoggedIn(message:string, isLoggedIn:boolean) {
if (isLoggedIn){
this.router.navigate(['/home/cl']);
}
else {
console.log('HomeComponent: '+message);
}
}
路由模块:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { CategoryListComponent } from './categorylist/categorylist.component';
const approutes: Routes = [
{
path: 'home/cl',
component: CategoryListComponent
},
...
];
@NgModule({
declarations: [
],
imports: [RouterModule.forRoot(approutes),
BrowserModule,
FormsModule],
exports: [RouterModule]
})
export class AppRoutingModule { }
针对以下评论:
如前所述,这一个PhoneGap的应用程序,所以大部分引用都使用(我假设)file:protocol。但是,第一页加载没问题,并且它引用了单个JavaScript文件中的内容。奇怪的是,所有其他路由器引用的内容也都在同一个JavaScript文件中。
我希望有人能够理解路由器行为的细节,以解释为什么它在这种环境下无法正常工作。
请给我看你的代码。 –
如果您使用的子路由比您需要导入RouterModule。并请添加一些代码,以便我们可以帮助您。 –
我已经添加了一些代码,但重点是它在UIWebView中正常工作,但在WKWebView中失败。 –