我的应用程序在Ionic 3上安装了Network Plugin。
我已将其放在我的 Login.ts 上,如下所示:
login.ts
private SUB_networkConnect: any;
private SUB_networkDisconnect: any;
private HAS_CONNECTION: boolean;
constructor( private network: Network ){
this.SUB_networkConnect = this.network.onConnect().subscribe(() => {
setTimeout(() => {
this.HAS_CONNECTION = true;
console.log(this.HAS_CONECTION);
}, 3000);
});
this.SUB_networkDisconnect = this.network.onDisconnect().subscribe(() => {
this.HAS_CONNECTION = false;
console.log(this.HAS_CONECTION);
});
}
我使用它,是因为首次登录必须为用户下载资产和其他内容。
如果我没有连接,则不允许用户身份验证。
因此,当我关闭然后打开Wifi上网时,它将启动触发控制台,并且我无法进行身份验证,因为标志HAS_CONNECTION用于允许或不允许我继续的条件
你们知道如何处理吗?
我也尝试将其放在app.component.ts上,也没有成功
答案 0 :(得分:1)
@Rafael de Castro,正如我所看到的,您的问题不是在“登录”中,而是在检测是否存在连接(Wifi)。
但是在您的代码中,您不检查它是否已连接,而是在事件中确定它是否已建立连接,请在变量this.HAS_CONNECTION!中
尝试放置此行
this.HAS_CONNECTION = (this.network.type === 'wifi' || this.network.type === '3g' || this.network.type === '4g');