我有一個完全有效的離子應用程序,我已經添加了角度開關來操縱視圖中的某些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;
});
}
}
你的控制器可能是綁定到'離子含量'指令,所以'ion-footer-bar'超出其範圍 – devqon
@devqon - 解決這個問題的最佳實踐是什麼? – DudeOfLayers