![](/img/trans.png)
[英]Angular Testing: Uncaught Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'home'
[英]NativeScript Angular: ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'addpatient'
所以我只希望将home.component.ts中的fab按钮路由到我的add Patient.component。 使用标签脚手架,并将我的add Patient文件夹放在主文件夹内。 这是我的目录的样子:
我真的很新,所以我觉得我只是缺少一些非常简单的东西
home.component.ts
import { Component, OnInit, ViewContainerRef, NgModule } from
"@angular/core";
var Sqlite = require("nativescript-sqlite");
import { registerElement } from "nativescript-angular/element-registry";
import { Fab } from "nativescript-floatingactionbutton";
import { AddPatientComponent } from "./addpatient/addpatient.component";
import { Router } from "@angular/router";
registerElement("Fab", () => Fab);
@Component({
selector: "Home",
moduleId: module.id,
templateUrl: "./home.component.html"
})
export class HomeComponent implements OnInit {
constructor(private router: Router){}
public redirectAddPatient(){
this.router.navigate(["addpatient]);
}
}
home.component.html
<FAB row="1" (tap)="redirectAddPatient()" icon="res://ic_plus_white" rippleColor="#f1f1f1" class="fab-button"></FAB>
addpatient.component.ts
import { Component } from "@angular/core";
import { Patient } from "./../../objects/patient.module"
import { NativeScriptRouterModule } from "nativescript-angular/router";
@Component({
selector: "addpatient",
moduleId: module.id,
templateUrl: "./addpatient.component.html"
})
export class AddPatientComponent {
public lastname: string;
ngOnInit(): void{
let patient = new Patient();
patient.setLastName(this.lastname);
console.log("lastname: ", patient.getLastName());
}
}
应用程序路由
import { AddPatientComponent } from
"./tabs/home/addpatient/addpatient.component";
import { HomeComponent } from "./tabs/home/home.component";
export const appRoutes: any = [
{path: "", component: HomeComponent},
{path: "addpatient", component: AddPatientComponent}
];
export const appComponents: any = [
HomeComponent,
AddPatientComponent
];
主要
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
import { AppModule } from "./app.module";
import { NgModule } from "@angular/core";
import { AppComponent } from "./app.component";
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { appComponents, appRoutes } from "./app.routing";
@NgModule({
declarations: [AppComponent, ...appComponents],
bootstrap: [AppComponent],
imports: [
NativeScriptRouterModule,
NativeScriptRouterModule.forRoot(appRoutes)
],
})
class AppComponentModule {
}
platformNativeScriptDynamic().bootstrapModule(AppModule);
首先,您的this.router.navigate(["addpatient*here*]);
redirectAddPatient()
中缺少引号: this.router.navigate(["addpatient*here*]);
其次,您要引导的模块是AppModule,而不是AppComponentModule。我建议添加将AppComponentModule声明并导入到AppModule中,并完全删除AppComponentModule,因为它没有任何用途(据我所知)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.