Sto usando l'AngularJS $rootScope
oggetto da esporre alcune costanti globali che devono essere accessibili a entrambi i controller e le viste:Come confrontare con le variabili globali in ng-switch
var app = angular.module('myApp', []);
app.run(function ($rootScope) {
$rootScope.myConstant = 2;
});
Quando si tenta di rendere un globale valore in una vista, funziona correttamente:
{{myConstant}}
Analogamente, se riferimento al valore globale in una condizione ng-if
funziona anche:
<span ng-if="someValue == myConstant">Conditional content</span>.
Tuttavia, quando si tenta di utilizzare lo stesso valore per il confronto all'interno di un blocco ng-switch
, non viene mai valutato true. This JSFiddle dimostra il mio tentativo di farlo funzionare. Ho anche provato a fare riferimento esplicitamente al valore costante come membro di $rootScope
e come espressione (all'interno di doppie parentesi graffe) ma non funziona.
Qualche idea su cosa sto facendo male?
Grazie,
Tim
Non sembra che funzioni così con la direttiva ng-switch. Altri hanno fatto commenti simili. Ecco un altro jsfiddle che ho trovato che evidenzia il problema: http://jsfiddle.net/sfqGB/ –
Sembra che al momento non sia possibile avere un 'ng-switch-when dinamico '. In alternativa, puoi usare 'ngIf'. – AlwaysALearner