【问题标题】:Runtime Error Error in :0:0 caused by: No provider for StatusBar运行时错误:0:0 中的错误,原因是:没有 StatusBar 的提供程序
【发布时间】:2017-08-27 00:22:32
【问题描述】:

我正在构建我的 ionic 2 应用程序,但出现此错误:

Runtime Error
Error in :0:0 caused by: No provider for StatusBar!

在 app.component.ts 中,我有:

import { StatusBar } from '@ionic-native/status-bar';
...
@Component({
    templateUrl: 'app.html'
})
export class MyApp {

    pageComponent: any;
    private admobid: any;

    constructor(
          public platform: Platform
        , public statusBar: StatusBar
        ...

我不明白是否必须在 app.module.ts 中列出所有原生插件?

【问题讨论】:

    标签: angular typescript ionic2


    【解决方案1】:

    正如错误提示的那样,您没有 StatusBar 的提供程序。

    在您的组件中添加提供程序,

    @Component({
       .....
       providers: [StatusBar]
    })
    

    或者最好是在你的 NgModule 中

    @NgModule({
       imports: ...
        .......,
       providers: [StatusBar]
    })
    

    在后一种情况下,您必须添加另一个 es6 'import' 语句以允许将 StatusBar 类型作为提供程序添加到 NgModule 中

    【讨论】:

    • 好的,我不确定我是否添加了导入并将它们全部添加到@NgModule。谢谢
    • 这是我在这里看到的一个常见问题 - 围绕 es6/typescript 导入语句(每个 typescript 文件顶部的行)与 NgModule 导入的混淆。对于每个 ts 文件,您必须将要在该文件中引用的每种类型导入到该特定 ts 文件中。
    • 你认为这与我在这里遇到的错误类型相同吗:stackoverflow.com/questions/43162638/…
    • 不,不同的问题。将在那里发表评论。
    • 转到ionicframework.com/docs/native/status-bar 并单击链接将此插件添加到您的应用程序模块中给出的示例是针对相机的。用 StausBar 替换相机。通常文档帮助更多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 2017-08-17
    • 2019-01-08
    • 2014-04-07
    • 2018-03-05
    相关资源
    最近更新 更多