首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离子2 Cordova网络信息插件参考误差

离子2 Cordova网络信息插件参考误差
EN

Stack Overflow用户
提问于 2016-02-26 12:54:40
回答 4查看 4.4K关注 0票数 3

根据本教程,我已经将网络信息插件安装到我的Ionic 2应用程序中:

如何使用Cordova插件

但是,TypeScript不会编译,因为它无法在状态数组行中找到“连接”的引用。知道如何根据平台、页面等编写导入语句吗?

我的班:

代码语言:javascript
复制
import {NavController, NavParams} from 'ionic-framework/ionic';
import {Page, ViewController, Platform, Alert, Modal, Events} from 'ionic-framework/ionic';
import {forwardRef} from 'angular2/core';
import {OnInit} from 'angular2/core';
import {Injectable} from 'angular2/core';
import {TodosService} from '../../services/TodosService';
import {MyTodosItem} from '../../pages/my-todos-item/my-todos-item';

@Page({
  templateUrl: 'build/pages/my-todos/my-todos.html'
})
class TodayPage {

  constructor(
    private platform: Platform,
    private nav: NavController,
    private _events: Events,
    private _todosService: TodosService) {
    this._platform = platform;
    this._isAndroid = platform.is('android');
  }

  ngOnInit() {
    this.getItems();
    this._events.subscribe('item:updated', () => {
      this.getItems();
    });

    this.checkNetwork();
  }

  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';

          alert(states[networkState]);
      });
  }
.. 
}

错误是:

找不到名称“连接”。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-02-28 01:10:02

注意:插件不一定/总是在浏览器中工作,因此使用真正的设备或模拟器.

要修复TypeScript错误:

  1. 创建一个名为“Typings in /app”的文件夹
  2. 将此文件下载到该文件夹:语音拼音
  3. 在文件夹中创建另一个文件,例如使用以下代码的ngcordova.d.ts: 接口窗口{ plugins: any;}

然后修改tsconfig.json files属性:

代码语言:javascript
复制
  "files": [
    "app/app.ts",
    "app/typings/ngcordova.d.ts",
    "app/typings/phonegap.d.ts"
  ]

现在,importantly:不应该抱怨,它会构建,但是TypeScript测试是在真正的设备或模拟器上,而不是在浏览器上。

这对我有用。

票数 6
EN

Stack Overflow用户

发布于 2016-10-19 07:44:24

您应该在导入行下面添加以下内容

declare var navigator: any; declare var Connection: any;

票数 2
EN

Stack Overflow用户

发布于 2016-06-22 22:40:56

终于找到了解决办法

在类型/main.d.ts中添加以下内容,以使网络信息正常工作

代码语言:javascript
复制
/// <reference path="ngcordova.d.ts" />

/// <reference path="phonegap.d.ts" />

这将适用于最新版本的角

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35652301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档