首页 文章

Nativescript Angular2路由提供程序

提问于
浏览
0

我试图用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 回答

  • 1

    作为nativescript github问题的解决方案here你应该从 "nativescript-angular/router-deprecated/ns-router-deprecated" 导入 NS_ROUTER_DIRECTIVESNS_ROUTER_PROVIDERS

    像这样:

    import {NS_ROUTER_DIRECTIVES, NS_ROUTER_PROVIDERS} from "nativescript-angular/router-deprecated/ns-router-deprecated";

    以下我删除了不必要的进口和提供商......

    main.ts

    import {nativeScriptBootstrap} from "nativescript-angular/application";
    import {AppComponent} from "./app.component";
    
    nativeScriptBootstrap(AppComponent);
    

    app.component.ts

    import {Component} from "@angular/core";
    import {RouteConfig} from '@angular/router-deprecated';
    import {NS_ROUTER_DIRECTIVES, NS_ROUTER_PROVIDERS} from "nativescript-angular/router-deprecated/ns-router-deprecated";
    import {FirstComponent} from "./first.component";
    import {SecondComponent} from "./second.component";
    
    @Component({
       selector: 'navigation-test',
       directives: [NS_ROUTER_DIRECTIVES],
       providers: [NS_ROUTER_PROVIDERS],
       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 { }
    

相关问题