我正在尝试从谷歌 Map 提供程序获取纬度和longtitute值并将它们传递给我的ListPage但我无法使用NavController .
导入的navController:
import {NavController, NavParams} from 'ionic-angular';
导入ListPage:
import { ListPage } from '../pages/list/list';
构造函数:
constructor(private navController: NavController, private navParams: NavParams)
码:
this.navController.push(ListPage, {
lat: lat1, lon: lon1
});
一切看起来都不错,但我明白了
没有NavController的提供者
错误 .
2 回答
无法从
@Injectable()
构造函数中调用NavController
.1)从构造函数中删除
private navController: NavController
.2)添加
import { App } from 'ionic-angular';
和constructor(public connectivityService: Connectivity, public app: App)
3)添加此功能
4)
5)在ListPage
Update:
哎呀我没注意到你在使用服务 . Pablo Albaladejo是对的 . 您不能在服务中使用NavController,因为这可能会破坏导航堆栈或使其真正令人困惑 .
走路的一种方法是按照Pablo的建议加载
App
.另一种方法是使用Ionic提供的
Events
来在视图之间进行通信 . 我个人喜欢它,因为这给了我更多的自由,不将服务绑定到只有一个视图 .https://ionicframework.com/docs/api/util/Events/
Original
你走在正确的道路上 . 所有你需要的是导入
NavParams
import { NavController, NavParams } from 'ionic-angular';
构造器:
constructor(private navController: NavController, private navParams: NavParams)
所以在你推动视图的情况下
现在你可以访问参数: