错误TS2339:“导航器”类型上不存在属性“连接”

时间:2016-07-14 20:25:59

标签: cordova angular connection cordova-plugins ionic2

非常简单的问题

我正在尝试ang 2和离子2。

使用以下代码 -

主文件 -

/// <reference path="../../../node_modules/@angular/platform-browser/src/browser.d.ts" />


import {Component} from '@angular/core';
import {Platform} from 'ionic-angular';
import {NavController} from 'ionic-angular';
import {Network} from 'ionic-native'

@Component({
  templateUrl: 'build/pages/items-map/items-map.html'
})
export class ItemsMap {

  constructor(private platform : Platform) {
    console.log(navigator.Connection);
  }

}

每当我使用gulp build构建项目时,我都会 -

  

错误TS2339:“导航器”类型中不存在属性“连接”。

有任何帮助吗?我知道记录了一些更类似的问题,但没有一个有任何确定的答案

3 个答案:

答案 0 :(得分:2)

如果您将其更改为&#34; navigator['connection']&#34;这可能会解决问题,或者有人建议&#34; navigator.type&#34;。 但是我在你的代码中看到了一个小问题,你还没有声明&#34; navigator&#34;!我建议你在@Component decorator之上进行,按如下方式添加:

declare var navigator; 
@Component decorator({
           .....
})

然后更改为&#34; navigator.type&#34;或者#&#34;导航器[&#39;连接&#39;],无论什么适合你!

希望这有帮助。

答案 1 :(得分:1)

这是TypeScript定义问题。它需要插件的TypeScript定义。使用npm进行安装。

  

npm install @ types / cordova-plugin-network-information --save

如果它不起作用,请尝试Network.type而不是navigator.connection

答案 2 :(得分:0)

看起来您已经导入了Network类,因此您可以通过调用Network.connection来获取连接类型。此属性的基础代码将返回navigator.connection.type

因为这种方式是通过Ionic的TypeScript声明类(network.d.ts)访问它,所以不会再出现错误。

注意,使用Network类时,请务必将Cordova插件cordova-plugin-network-information添加到config.xml文件中。

示例

import {Component} from '@angular/core';
import {Platform} from 'ionic-angular';
import {NavController} from 'ionic-angular';
import {Network} from 'ionic-native'

@Component({
  templateUrl: 'build/pages/items-map/items-map.html'
})
export class ItemsMap {

  constructor(private platform : Platform) {
    console.log(Network.connection);
  }
}