由于某些性能问题,我正在尝试将angularJS2 / phonegap应用程序升级为在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应用程序,因此大多数参考都使用(我假设)文件:协议。但是,第一页可以加载,并且引用单个JavaScript文件中的内容。奇怪的是,所有其他路由器引用的内容也都在同一JavaScript文件中。
我希望有人能理解路由器行为的本质,以解释为什么它在这种环境下不起作用。
您是通过Web服务器还是file://协议访问此地址?似乎wkwebview与此有关。