Ionic2 NavController没有提供程序(在用)

Ionic2 NavController没有提供程序(在用),ionic2,Ionic2,在服务的构造函数中注入NavController失败,没有提供程序错误。有人能提供一个解决方案吗?NavController不是要注入服务类,因为这不是他们的预期目的。该服务不应负责显示警报/加载/或需要nav激活的任何组件。服务应该只用于获取和返回数据。其他任何操作都应该在组件内完成 以下是服务指南: 从一个服务(坏的MVC)更改视图是一种不好的做法。 但是,您可以将事件从服务发送到主控制器, 控制器可以使用NavController(最佳方式),也可以发送 NavController与您的服

在服务的构造函数中注入NavController失败,没有提供程序错误。有人能提供一个解决方案吗?

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

以下是服务指南:

从一个服务(坏的MVC)更改视图是一种不好的做法。 但是,您可以将事件从服务发送到主控制器, 控制器可以使用NavController(最佳方式),也可以发送 NavController与您的服务类似的属性(不错的方式…)。或 您可能需要创建一个组件,而不是使用服务


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

以下是服务指南:

从一个服务(坏的MVC)更改视图是一种不好的做法。 但是,您可以将事件从服务发送到主控制器, 控制器可以使用NavController(最佳方式),也可以发送 NavController与您的服务类似的属性(不错的方式…)。或 您可能需要创建一个组件,而不是使用服务


您不能以正常方式在服务中使用
NavController
。你应该这样做:

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

您不能以正常方式在服务中使用
NavController
。你应该这样做:

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

你能提供完整的错误信息,至少是你代码中接收到的部分吗?你能提供完整的错误信息,至少是你代码中接收到的部分吗?这应该可以工作,但是@Debo如果你真的需要从服务导航到另一个页面,那么你的应用程序的架构设计是错误的。相反,您应该从服务返回一些结果,并从首先调用该服务的页面导航。但是+1,同样,这应该有效。但是@Debo如果你真的需要从服务导航到另一个页面,那么你的应用程序的架构设计是错误的。相反,您应该从服务返回一些结果,并从首先调用该服务的页面导航。但是+1,因为这同样应该有效。