2017-06-02 41 views
1

Iam在Ionic v2 ts中开发一个应用程序。我的network.type等于空。 什么问题?Ionic Network type = null

import { Network } from '@ionic-native/network'; 
 

 

 
@Component({ 
 
    selector: 'page-home', 
 
    templateUrl: 'home.html', 
 
    providers: [ProviderAccessApi] 
 
}) 
 
export class HomePage { 
 
    user : string; 
 
    pass:string; 
 

 
    constructor(public navCtrl: NavController, public providerAPI:ProviderAccessApi, private platform: Platform, public alertCtrl : AlertController, public network : Network) { 
 
     console.log('HomePage carragada com sucesso') 
 
     alert(network.type); 
 
    }

+0

在尝试访问'network.type'之前是否在等待平台准备就绪? – sebaferreras

+0

不...我该怎么做? –

+0

我已经添加了如何作为答案。如果问题仍然存在,我们可以尝试其他的事情... – sebaferreras

回答

3

首先请注意,你应该把的this.platform.ready().then(() => {...});内部网络相关的代码时,平台已准备好执行它。

import { Network } from '@ionic-native/network'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html', 
    providers: [ProviderAccessApi] 
}) 
export class HomePage { 
    user : string; 
    pass:string; 

    constructor(public navCtrl: NavController, 
       public providerAPI: ProviderAccessApi, 
       private platform: Platform, 
       public alertCtrl : AlertController, 
       public network : Network) { 

     console.log('HomePage carragada com sucesso'); 

     this.platform.ready().then(() => { 
      // Now all cordova plugins are ready! 
      alert(network.type); 
     }); 

    } 
} 

而且要记住,因为它是一个科尔多瓦插件,它不会在浏览器运行应用程序时使用。要使用插件,您需要在模拟器/真实设备上运行应用程序。

+0

不工作,为空 –

+0

你是如何安装插件?也可以尝试使用网络属性制作控制台日志,以查看我们在那里的内容:'console.log(network)'。 – sebaferreras

+0

插件网络信息? –