没有NavController的提供者(在服务中)

时间:2017-08-10 11:55:30

标签: ionic2

在服务构造函数中注入NavController失败,没有提供程序错误。有人可以为此提供解决方法吗?

2 个答案:

答案 0 :(得分:2)

NavController NOT 意味着要注入Service类,因为这不是他们的预期目的。该服务不应负责显示警报/加载/或需要由nav激活的任何组件。服务应该只是用于获取和返回数据。其他任何事情都应在组件内完成。

以下是服务指南:

  

从服务(破坏的MVC)更改视图是不好的做法。   但是,您可以将服务中的事件发送到主控制器,   并且控制器可以使用NavController(最佳方式),或者您可以发送   NavController就像属性一样对你的服务(不错的方式......)。要么   您可能需要创建一个组件而不是使用该服务。

答案 1 :(得分:1)

您无法以正常方式使用NavController。你应该这样做:

import {  App} from 'ionic-angular';
constructor(private app: App){
}
gotoPage(page: any){
    this.app.getRootNav().push(page);
}