【发布时间】:2020-01-24 07:57:20
【问题描述】:
检查互联网连接时如何显示或隐藏离子图标?我对此有点困惑,所以如果你知道如何解决这个问题,请告诉我。谢谢 我已经在 HTML ngIf 函数中设置了这个:
<ion-buttons end>
<div >
<ion-icon name="ios-wifi" style="zoom:1.5;" *ngIf="!wifi"></ion-icon>
</div>
</ion-buttons>
这是我的网络提供商的 ts 以及在哪里检查它。非常感谢您的一点支持和帮助。 网络.ts
import { Injectable } from '@angular/core';
import { Network } from '@ionic-native/network';
import { BehaviorSubject, Observable } from 'rxjs';
import { ToastController, Platform } from 'ionic-angular';
export enum ConnectionStatus {
Online,
Offline
}
@Injectable({
providedIn: 'root'
})
export class NetworkService {
private status: BehaviorSubject<ConnectionStatus> = new BehaviorSubject(ConnectionStatus.Offline);
constructor(private network: Network, private toastController: ToastController, private plt: Platform) {
this.plt.ready().then(() => {
this.initializeNetworkEvents();
let status = this.network.type !== 'none' ? ConnectionStatus.Online : ConnectionStatus.Offline;
this.status.next(status);
});
}
public initializeNetworkEvents() {
this.network.onDisconnect().subscribe(() => {
if (this.status.getValue() === ConnectionStatus.Online) {
console.log('OFFLINE');
this.updateNetworkStatus(ConnectionStatus.Offline);
}
});
this.network.onConnect().subscribe(() => {
if (this.status.getValue() === ConnectionStatus.Offline) {
console.log('ONLINE');
this.updateNetworkStatus(ConnectionStatus.Online);
}
});
}
private async updateNetworkStatus(status: ConnectionStatus) {
this.status.next(status);
let connection = status == ConnectionStatus.Offline ? 'Internet konekcija prekinuta.' : 'Konekcija uspostavljena';
this.toastController.create({
message: `${connection}`,
duration: 3000,
position: 'bottom'
}).present();
};
public onNetworkChange(): Observable<ConnectionStatus> {
return this.status.asObservable();
}
public getCurrentNetworkStatus(): ConnectionStatus {
return this.status.getValue();
}
}
【问题讨论】:
-
你在使用网络插件吗??请分享代码
-
是的,我正在使用网络插件和网络提供商,我想在我拥有的每个表单上显示或隐藏这个离子图标。我将在下面分享网络提供商ts。
-
@NajamUsSaqib 立即查看。谢谢