Używam angularjs $rootScope
obiektu, aby odsłonić pewne zmienne globalne, które powinny być dostępne dla obu kontrolerów i widoków:Jak porównać przeciwko zmiennych globalnych w ng-switch
var app = angular.module('myApp', []);
app.run(function ($rootScope) {
$rootScope.myConstant = 2;
});
Gdy próbuję uczynić globalną wartość w widoku, to działa prawidłowo:
{{myConstant}}
Podobnie, jeśli odwołać się do wartości globalnej w warunkach ng-if
działa również:
<span ng-if="someValue == myConstant">Conditional content</span>.
Jednak przy próbie użycia tej samej wartości do porównania w bloku ng-switch
, nigdy nie jest równa true. This JSFiddle demonstruje moją próbę uzyskania tego działa. Próbowałem również jawnie odwoływać się do stałej wartości jako członek $rootScope
i jako wyrażenie (wewnątrz podwójnych nawiasów klamrowych), ale nic nie działa.
Jakieś pomysły, co robię źle?
Dzięki,
Tim
Nie wygląda na to, że działa tak z dyrektywą ng-switch. Inni poczynili podobne uwagi. Oto kolejny jsfiddle, który znalazłem, który podkreśla problem: http://jsfiddle.net/sfqGB/ –
Wygląda na to, że nie można mieć dynamicznego 'ng-switch-when'. Alternatywnie możesz użyć 'ngIf'. – AlwaysALearner