Czy istnieje jakiś sposób, aby powiedzieć w kątowym coś takiego:Wyświetl "-" czy wartość jest pusta?
<th ng-repeat=" o in Odds" >{{o.Name || "-"}}</th>
Więc jeśli nie ma danych w o.name wyświetlanie „-”?
Czy istnieje jakiś sposób, aby powiedzieć w kątowym coś takiego:Wyświetl "-" czy wartość jest pusta?
<th ng-repeat=" o in Odds" >{{o.Name || "-"}}</th>
Więc jeśli nie ma danych w o.name wyświetlanie „-”?
Twój przykład powinien działać, ale jeśli masz spacje lub funkcja w o.Name nie zostanie rozwiązana na falsey, a otrzymasz niewidoczne miejsce w kodzie HTML zamiast pożądanej kreski.
Filtr rodzajowy mogą być wykorzystane do zastąpienia pustych wartości kresek i zastosować różne normalizację na pierwszym wejściu:
angular.module('App.filters', []).filter('placeholder', [function() {
return function (text, placeholder) {
// If we're dealing with a function, get the value
if (angular.isFunction(text)) text = text();
// Trim any whitespace and show placeholder if no content
return text.trim() || placeholder;
};
}]);
można następnie wykorzystać je w następujący sposób:
<th ng-repeat=" o in Odds" >{{o.Name | placeholder:'-'}}</th>
to wtedy Całkowicie wielokrotnego użytku dla innych wierszy/kolumn i wszędzie, gdzie chcesz zastosować tę samą regułę.
Przykład: http://jsfiddle.net/kfknbsp7/4/
co, jeśli funkcja zwraca nie ciąg znaków? – Grundy
Z powyższym kodem jak-jest błąd. Prawdę mówiąc, demonstrowałem na prostym przykładzie, który bezpośrednio rozwiązał problem PO. Oczywiście taki filtr daje wiele możliwości sprawdzania poprawności i wpisywania danych wejściowych i wykonywania takich obliczeń z plików HTML. – seanhodges
W tym przypadku można użyć ngIf tak:
<th ng-repeat=" o in Odds" >
<span ng-if="o.Name">{{o.Name}}</span>
<span ng-if="!o.Name"> - </span>
</th>
Twój kod jest praca [JSFiddle] (https://jsfiddle.net/bwh5abv8/3/) – valverde93
Odpowiedzi przedstawić poprawną alternatywę, ale nie uwzględniają faktu, że jeśli to, co masz prawo tam nie działa, wartość faktycznie nie jest falsey, gdy go uruchomisz. – jdphenix
więc, jak wspomniano wcześniej twój przykład jest poprawny, czy mógłbyś podać przykład swoich danych w 'Kursach' i możemy dowiedzieć się dlaczego to nie działa dla ciebie –