Nativescript / angular2:没有applicationRef的提供者!部署后出错

时间:2016-11-26 08:14:15

标签: angular nativescript

我试图运行一个非常简单的nativescript / angular2应用程序,它似乎构建正常但在应用程序部署到android(genymotion)模拟器后,我收到以下错误消息。 所以似乎角度没有被引导?不确定为什么这是......我知道我做错了什么?

错误消息:

"@angular/core": "2.1.2",
"@angular/forms": "2.1.2",
    "@angular/http": "2.1.2",
    "@angular/platform-browseBUILD SUCCESSFUL

Total time: 1 mins 39.836 secs
Project successfully built
Successfully deployed on device with identifier '192.168.8.101:5555'.
JS: ns-renderer: ERROR BOOTSTRAPPING ANGULAR
JS: ns-renderer: No provider for ApplicationRef!
JS:
JS: Error: No provider for ApplicationRef!
JS:     at NoProviderError.Error (native)
JS:     at NoProviderError.BaseError [as constructor] (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:1104:38)
JS:     at NoProviderError.AbstractProviderError [as constructor] (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:1235:20)
JS:     at new NoProviderError (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:1266:20)
JS:     at ReflectiveInjector_._throwOrNull (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2906:23)
JS:     at ReflectiveInjector_._getByKeyDefault (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2934:29)
JS:     at ReflectiveInjector_._getByKey (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2897:29)
JS:     at ReflectiveInjector_.get (/data/data/org.nativescript.barcodescanner/files/app/tns_modules/@angular/core/bundles/core.umd.js:2706:25)
JS:     at NgModuleInjector.Object.defineProperty.get (/AppModule/module.ngfactory.js:58:87)
JS:     at NgModuleInjector.AppModuleInjector.createInternal (/AppModule/module.ngfactory.js:83:60)

我的main.ts文件,如果有帮助:

import { platformNativeScriptDynamic } from "nativescript-angular/platform";


import { AppModule } from "./app.module";



platformNativeScriptDynamic().bootstrapModule(AppModule);

和我的app.module.ts:

import { NgModule } from "@angular/core";
import { NativeScriptFormsModule } from "nativescript-angular/forms";
import { NativeScriptModule } from "nativescript-angular/platform";
import { NativeScriptRouterModule } from "nativescript-angular/router";

import { AppComponent } from "./app.component";
import {routes, navigatableComponents } from "./app.routing";

@NgModule({
    imports : [(
    NativeScriptModule, NativeScriptFormsModule, NativeScriptRouterModule, NativeScriptRouterModule.forRoot(routes)
    )],
    declarations : [AppComponent, ...navigatableComponents
    ],
    bootstrap : [AppComponent]      
})
export class AppModule {}

2 个答案:

答案 0 :(得分:14)

将BrowserModule导入app.module为我做了...

import { BrowserModule } from '@angular/platform-browser';

答案 1 :(得分:0)

imports中的ngModule删除括号,它应该是一个模块数组。像这样:

@NgModule({
    imports : [
    NativeScriptModule, NativeScriptFormsModule,    NativeScriptRouterModule, NativeScriptRouterModule.forRoot(routes)
    ],
    declarations : [AppComponent, ...navigatableComponents ],
    bootstrap : [AppComponent]      
})