2016-10-17 43 views
0

我使用網絡本地插件來檢測網絡狀態(連接與否)和檢測網絡狀態(onConnect和onDisConnect)的變化。網絡訂閱不會改變視圖

我想在網絡斷開連接時禁用某些按鈕,並且還想在連接回來時啓用它們。因此,Network插件有兩個函數,分別稱爲onConnect和onDisConnect,它們返回一個Observable。在訂閱這些函數時,我想更改一個名爲「isConnected」的類變量。下面的代碼顯示我想要管理這個。

...  
    constructor(...){ 
     .... 
     // network 
     this.isConnected   = Network.connection !== "none"; 
     this.connectSubscription = Network.onConnect().subscribe(()=>{ 
      this.updateConnection(); 
      Toast.showShortBottom("connected now !").subscribe(); 
     }); 
     this.disconnectSubscription = Network.onDisconnect().subscribe(()=>{ 
      this.updateConnection(); 
      Toast.showShortBottom("disconnected now !").subscribe(); 
     }); 
    } 

    updateConnection(){ 
     this.isConnected = Network.connection !== "none"; 
    } 

和我的HTML文件中包含一些按鈕這不得不啓用/禁用取決於連接狀態「isConnected」 ..

... 
     <button ion-button icon-only [disabled]="!isConnected" (click)="openModal()" shortVibrateOnTap> 
     <ion-icon ios="ios-swap" md="ios-swap"></ion-icon> 
     </button> 
... 
    <ion-col width-10> 
    <button ion-button icon-only class="arrow-btn" [disabled]="!isConnected && onLastQuestion" (click)="fireSth()" shortVibrateOnTap> 
     <ion-icon *ngIf="!onLastQuestion" ios="ios-arrow-forward" md="ios-arrow-forward"></ion-icon> 
     <ion-icon *ngIf="onLastQuestion" ios="ios-arrow-dropright-circle-outline" md="ios-arrow-dropright-circle-outline"></ion-icon> 
    </button> 
    </ion-col> 
... 

現在的onConnect和onDisConnect功能射擊,但我的按鈕不獲得殘疾無情...我首先必須點擊一個按鈕或做另一個動作...我如何強制視圖更新按鈕狀態?????

運行離子2 RC 1

回答

0

ApplicationRef似乎這樣的伎倆看here。但我仍然不明白爲什麼會發生這種情況..