Szukałem już od kilku godzin i nie mogę znaleźć odpowiedzi na mój problem w dowolnym miejscu. Pamiętam, że byłem w stanie go wcześniej wdrożyć, ale z jakiegoś powodu zgubiłem kod i nie mogę sobie przypomnieć, co zrobiłem, aby działało.Wyświetlanie warunkowe AngularJs dla opcji ng
Próbuję wyświetlać dane z tablicy w polu wyboru przy użyciu opcji ng. Tego nie mam żadnych problemów. Potrzebne do wdrożenia jest to, że tylko niektóre wartości tablicy będą wyświetlane/dołączane w polu wyboru.
Moje dane przedstawiają się następująco:
$scope.chartList = [ { "id" : 1, "name" : "chart 1", "order" : 1, "active" : false },
{ "id" : 2, "name" : "chart 2", "order" : 2, "active" : true },
{ "id" : 3, "name" : "chart 3", "order" : 3, "active" : true },
{ "id" : 4, "name" : "chart 4", "order" : 4, "active" : true },
{ "id" : 5, "name" : "chart 5", "order" : 5, "active" : true } ];
A mój HTML wygląda następująco:
<select ng-model="toAddChart" ng-options="chart.id as chart.name for chart in chartList | filter:chart.active=='false'">
<option value=""></option>
</select>
Więc co chcę się zdarzyć, że jeżeli wartość atrybutu „aktywny” jest fałszywa wtedy jest to jedyny czas, gdy element tablicy zostanie wyświetlony/włączony na liście wyboru. Próbowałem różnych permutacji atrybutu filtru, ale żaden nie działa.
Wiem, że mogę łatwo użyć ng-repeat w tagu i użyć ng-show, ale pamiętam, że gdzieś czytałem (znowu, nie mogę znaleźć), że nie jest to właściwy sposób na jego implementację i że używanie ng- opcje są poprawne.
Naprawdę jestem pewien, że udało mi się to zrobić wcześniej bez tworzenia niestandardowego filtra javascript, ale w moim życiu nie pamiętam, jak to zrobiłem. Mam nadzieję, że ktoś może
ma nadzieję, że ktoś może mi pomóc w tym, ponieważ jestem bez pomysłów.
Aktualizacja:
Wielki Scott, myślę, że mam go.
Zamiast:
filter:chart.active=='false'
Powinno być:
filter:chart.active='false'
To tylko liczba jednakowych oznaczeń używanych. facepalm
Dzięki za odpowiedzi, wszyscy.
Twój Składnia wydaje mi się doskonale działać? –
Twój kod wydaje się działać tylko zobacz tutaj http://jsfiddle.net/vinodlouis/H6AZ2/1 –
@VinodLouis - Och, kochanie, działa na jsfiddle. Teraz jestem jeszcze bardziej zdezorientowany, ponieważ nie działa on w moim środowisku programisty. Dzięki! Przyjrzę się więc innym czynnikom. – Stellaire