[英]Checking network connection with alert in Ionic 2
Trying to check network connection with an alert in Ionic 2. This tutorial is great but is now quite old and Ionic 2 syntax has changed since then. 尝试使用Ionic 2中的警报检查网络连接。 本教程很棒,但是现在已经很老了,此后Ionic 2语法发生了变化。 Etir in the comments mentioned editing the Alert component which I have done, but still outputting errors. Etir在评论中提到我已经完成了对Alert组件的编辑,但是仍然输出错误。 Any ideas? 有任何想法吗?
HomePage.ts HomePage.ts
import {Component} from '@angular/core';
import {NavController, AlertController, Platform} from 'ionic-angular';
declare var navigator: any;
declare var Connection: any;
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor(private navCtrl: NavController, private platform: Platform, public alertCtrl: AlertController) { }
checkNetwork() {
this.platform.ready().then(() => {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
let alert = alertCtrl.create({
title: "Connection Status",
subTitle: states[networkState],
buttons: ["OK"]
});
this.navCtrl.present(alert);
});
}
}
home.html home.html的
<ion-header>
<ion-navbar>
<ion-title>
Ionic Network Check
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<button (click)="checkNetwork()">Check Network</button>
</ion-content>
The errors being returned in home.ts 在home.ts中返回的错误
Cannot find name 'alertCtrl'- Line 26 Property 'present' does not exist on type 'NavController' - Line 31 找不到名称'alertCtrl'-第26行类型'NavController'不存在属性'present'-第31行
There are a few typos in your page definition: 您的页面定义中有一些错别字:
import {Component} from '@angular/core';
import {NavController, AlertController, Platform} from 'ionic-angular';
declare var navigator: any;
declare var Connection: any;
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor(private navCtrl: NavController, private platform: Platform, public alertCtrl: AlertController) { }
checkNetwork() {
this.platform.ready().then(() => {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
// this. was missing
let alert = this.alertCtrl.create({
title: "Connection Status",
subTitle: states[networkState],
buttons: ["OK"]
});
// This is the proper way to present the alert
alert.present();
});
}
}
The component docs give a full example: 组件文档提供了完整的示例:
https://ionicframework.com/docs/v2/components/#alert https://ionicframework.com/docs/v2/components/#alert
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.