2016-07-14 61 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」或「導航儀[‘連接’],任何適合你

希望這有幫助

相關問題