【发布时间】:2017-12-04 12:29:55
【问题描述】:
我在ionic 3 项目上实现了延迟加载模式。它工作得非常好。
不过我有一个问题。假设我需要在应用程序上实现原生StatusBar 功能。因此我必须在每个页面上以不同方式实现它,我已将其放在app.module.ts 上,如下所示。
providers: [
StatusBar,
]
这是好方法还是我需要在每个组件的模块上注入StatusBar 作为provider?对我来说,这似乎是多余的工作。但是最好的方法是什么?为什么会这样?
【问题讨论】:
-
如果模块不是延迟加载,您可以注册提供者多个模块,根注入器向提供者收费一次,如果模块延迟加载,则在子注入器中注册提供者。当应用启动时,根注入器不允许添加新的提供者
-
抱歉,我没有完全理解您所说的内容。您能提供更多信息吗?我已经在我的项目上实现了延迟加载。所以现在所有的组件都支持延迟加载。 @alehn96
-
因为它只是一个提供者(而不是整个模块),你可以将它添加到
app.module.ts文件的提供者数组中。这是使用大多数 cordova 插件的推荐方式(因为它们不是模块,只是 providers)。 -
我认为你的评论最适合
Ionic context。你能把它作为答案吗?谢谢。@sebaferreras -
希望你看到我的反馈没有? @sebaferreras
标签: angular typescript ionic-framework ionic2 ionic3