我试图用angular2跟随nativescript的快速启动演示 . 当我来到路由器时,它开始失败 . 错误消息: No provider for RouterOutletMap! 这是我的代码,
main.ts
#############
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {ROUTER_DIRECTIVES,ROUTER_PROVIDERS} from '@angular/router-deprecated';
import {NS_ROUTER_DIRECTIVES, NS_ROUTER_PROVIDERS} from "nativescript-angular/router";
import {AppComponent} from "./app.component";
nativeScriptBootstrap(AppComponent, [ROUTER_PROVIDERS]);
和
app.component.ts
############
import {Component} from "@angular/core";
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from '@angular/router-deprecated';
import {NS_ROUTER_DIRECTIVES, NS_ROUTER_PROVIDERS} from "nativescript-angular/router";
import {FirstComponent} from "./first.component";
import {SecondComponent} from "./second.component";
@Component({
selector: 'navigation-test',
providers: [NS_ROUTER_PROVIDERS],
directives: [NS_ROUTER_DIRECTIVES],
template: `<page-router-outlet></page-router-outlet>`
})
@RouteConfig([
{ path: '/first', component: FirstComponent, name: 'First', useAsDefault: true },
{ path: '/second', component: SecondComponent, name: 'Second' },
])
export class AppComponent { }
1 回答
作为nativescript github问题的解决方案here你应该从
"nativescript-angular/router-deprecated/ns-router-deprecated"
导入NS_ROUTER_DIRECTIVES
,NS_ROUTER_PROVIDERS
像这样:
import {NS_ROUTER_DIRECTIVES, NS_ROUTER_PROVIDERS} from "nativescript-angular/router-deprecated/ns-router-deprecated";
以下我删除了不必要的进口和提供商......
main.ts
app.component.ts