2016-07-14 59 views
1

很简单的问题错误TS2339:房产“连接”上不存在类型“导航”

我试图昂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); 
    } 

} 

现在,每当我用一口构建构建项目,我得到 -

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

上同任何帮助吗?我知道有一些记录更多类似的问题,但没有一个是有任何明确的答案

+0

你可以使用console.log(navigator.connection.type);可能会有效!我也是新来的Ionic2和AG2 :) –

+0

它仍然给出相同的错误 –

+0

你会检查网络上的按钮单击?? –

回答

0

我知道这个线程是几天老了,但我想知道是否有人有这个决心。我面临着同样的问题,并且尽我所能在谷歌中找到了一切,但都无济于事。 API在某些时候是否改变了?这里是我得到的错误“属性'连接'不存在类型'导航'。”我下面这个教程http://www.joshmorony.com/creating-an-advanced-google-maps-component-in-ionic-2/,这里是git的回购enter image description here

+0

这实际上是typescript大声说它不理解变量连接。可能的解决方法是在TS文件中创建新变量以解决构建错误。并在实际设备上进行测试 –

0

看起来你已经导入Network类,所以您可以通过调用Network.connection获取连接类型。该属性的底层代码将返回navigator.connection.type

因为这样一来,你访问它通过离​​子的打字稿声明类(network.d.ts)将不再出现错误。

注意,使用网络类时,请务必将科尔多瓦插件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); 
    } 
} 
1

这是打字稿定义的问题。它需要插件的TypeScript定义。使用npm来安装它。

NPM安装@类型/科尔多瓦 - 插件网络信息--save

如果它不工作,尝试Network.type而不是navigator.connection

1

如果将其更改为“navigator['connection']”可能会解决这个问题,或者有人建议“navigator.type”。 但我看到在你的代码一个可爱的小问题,你有没有申报“navigator”!我建议你做的是,在上述@Component decorator,如下添加:!

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

,然后切换到“navigator.type”或“导航仪[‘连接’],任何适合你

希望这有帮助

相关问题