【发布时间】:2018-01-18 15:57:50
【问题描述】:
在服务的构造函数中注入 NavController 失败,没有提供者错误。有人可以为此提供解决方法吗?
【问题讨论】:
-
您能否提供完整的错误消息,以及至少收到它的代码部分?
标签: ionic2
在服务的构造函数中注入 NavController 失败,没有提供者错误。有人可以为此提供解决方法吗?
【问题讨论】:
标签: ionic2
NavController 是 NOT 旨在注入到 Service 类中,因为这不是他们的预期目的。该服务不应该负责显示警报/加载/或任何需要由导航激活的组件。服务应该只是用于获取和返回数据。其他任何事情都应该在组件内完成。
以下是服务指南:
从服务更改视图是不好的做法(损坏的 MVC)。 但是,您可以将事件从服务发送到主控制器, 控制器可以使用 NavController (最好的方式),或者你可以发送 NavController 像属性一样为您的服务提供服务(不错的方式......)。要么 您可能需要创建一个组件而不是使用该服务。
【讨论】:
您不能以正常方式在服务中使用NavController。你应该这样做:
import { App} from 'ionic-angular';
constructor(private app: App){
}
gotoPage(page: any){
this.app.getRootNav().push(page);
}
【讨论】: