0

我有一個完全有效的離子應用程序,我已經添加了角度開關來操縱視圖中的某些div。離子應用程序+ Angular ng-switch-when不工作

問題發生在離子腳註欄上。它總是默認爲facebook(索引0),並且完全忽略instagram ng-switch-when。 在鉻開發人員中,我可以清楚地看到ng-switch的行爲,但是無論我做什麼,錯誤的行爲都是持久的。

我已經嘗試了所有不同類型的改變無濟於事,我開始認爲這與離子如何構建它的離子含量 & 離子軀杆做元素(?)

HTML

<ion-content> 
    <select ng-model="selectedNetwork" ng-change="setSelected(selectedNetwork.id)" data-ng-options="availableNetwork as availableNetwork.label for availableNetwork in availableNetworksForSelect track by availableNetwork.id"> 
    </select> 

    //*******Please note that These two divs work perfectly********* 
    <div ng-switch = "selectedNetwork.id" class=""> 
     <div ng-switch-when = "facebook" class="" > 
      <span>I am Facebook</span> 
     </div> 
     <div ng-switch-when = "instagram" class=""> 
      <span>I am instagram</span> 
     </div> 
    </div> 

</ion-content> 
<ion-footer-bar ng-switch = "selectedNetwork.id"> 
    <div ng-switch-when = "facebook" class="" > 
     <span>I am Facebook</span> 
    </div> 
    <div ng-switch-when = "instagram" class=""> 
     <span>I am instagram</span> 
    </div> 
</ion-footer-bar> 

這是控制器

$scope.availableNetworksForSelect = [{ 
           id: 'facebook', 
           label: 'This is Facebook' 
          }, { 
           id: 'instagram', 
           label: 'This is instagram' 
          }]; 

$scope.selectedNetwork = $scope.availableNetworksForSelect[0]; 

編輯:每個請求,這裏是setSelected();

$scope.setSelected = function (network) { 
    console.log('setSelected', network) 
    $scope.selectedTab = network; 
    $scope.translationData = { 
     network: network.charAt(0).toUpperCase() + network.substring(1) 
    }; 
    var currentTabNetworkTerms; 
    if (!_.isUndefined($scope.baba.networks)) { 
     currentTabNetworkTerms = _.find($scope.baba.networks, {code: network}).actions; 
     $scope.currentTabNetworkActions = _.sortBy(currentTabNetworkTerms, function (term) { 
      if (term.name == "post") { 
       return 0; 
      } 
      return 1; 
     }); 
    } 
} 
+0

你的控制器可能是綁定到'離子含量'指令,所以'ion-footer-bar'超出其範圍 – devqon

+0

@devqon - 解決這個問題的最佳實踐是什麼? – DudeOfLayers

回答

0

不使用ng-switchion-footer-bar 更新的代碼屬性

<ion-footer-bar> 
    <ng-switch on="selectedNetwork.id"> 
     <div ng-switch-when = "facebook" class="" > 
      <span>I am Facebook</span> 
     </div> 
     <div ng-switch-when = "instagram" class=""> 
      <span>I am instagram</span> 
     </div> 
    </ng-switch> 
</ion-footer-bar> 
+0

「on」不是必需的,因爲我添加了它並獲得了相同的結果,''開關工作,而''開關不起作用,就像在添加「on」之前 – DudeOfLayers

+0

我已經添加了'ion-footer-bar'的代碼,請檢查 - @DudeOfLayers – Gaurav

+0

- 您添加了哪些代碼?我不遵循你最後的評論,請解釋。 – DudeOfLayers

相關問題