HomePage类中的错误导致:没有NavController的提供程序

时间:2017-05-22 07:00:21

标签: google-maps typescript ionic-framework ionic2

我正在尝试从Google地图标记中的按钮打开ListPage。

enter image description here

1)

import { NavController, NavParams } from 'ionic-angular';

2)

constructor(public connectivityService: Connectivity, public navCtrl: NavController) {

      }

3)

infowindow.setContent('<button style="font-size: 1.5em; color: red; font-weight: bold;" ion-button (click)="showlistPage()">ADD BLOOD</button>' + "</br>" + results[1].formatted_address+'<p style="color: red;">'+distanceToYou+" miles from your location</p>");

5)

  showlistPage() {
    this.navCtrl.push(ListPage);
}

但是现在我收到了这个错误:主页由没有navcontroller的提供商引起

enter image description here

3 个答案:

答案 0 :(得分:0)

尝试将服务连接作为提供程序放在app.module中,不要忘记在组件中导入它

答案 1 :(得分:0)

从'ionic-angular'导入{NavController,NavParams}; // app.module.ts文件

在app.module.ts文件的底部添加以下代码。

提供者:[NavController,{提供:ErrorHandler,useClass:IonicErrorHandler}]

答案 2 :(得分:0)

尽管我尝试从服务访问页面(在这种情况下是谷歌地图)这是一个不好的做法

import {NavController, App} from "ionic-angular";
.....

@Injectable()
 export class GoogleMaps {

private nav:NavController;

.....

constructor(public connectivityService: Connectivity, private app:App) {

 this.nav = app.getActiveNav();

}

.....

//in my Google Maps Marker I defined the button

infowindow.setContent('<button style="font-size: 1.5em; color: red; font-weight: bold;" ion-button (click)="showlistPage()">ADD BLOOD</button>' + "</br>" + results[1].formatted_address+'<p style="color: red;">'+distanceToYou+" miles from your location</p>");

.....


showlistPage() {
  this.nav.push(ListPage);
}

仍然无法从该按钮访问ListPage ,但至少我解决了错误。