Czy istnieje sposób zapisu logiki inline w szablonie w AngularJS.Inline-logic w szablonach w AngularJS
Co chcę zrobić coś takiego:
<div ng-repeat="item in items">
{{item.isValid ? 'Valid item' : 'Invalid Item'}}
</div>
Czy istnieje sposób zapisu logiki inline w szablonie w AngularJS.Inline-logic w szablonach w AngularJS
Co chcę zrobić coś takiego:
<div ng-repeat="item in items">
{{item.isValid ? 'Valid item' : 'Invalid Item'}}
</div>
Można użyć &&
i ||
, który zakończy działają tak samo, jak operatorzy trójskładnikowi.
{{item.isValid && 'Valid' || 'Invalid' }}
EDIT: kątowe wprowadzone operatorów trójskładnikowych w 1.1.5:
{{item.isValid ? 'Valid' : 'Invalid' }}
Można wstawić rozpiętość NG-show, aby pokazać swój tekst warunkowy
Przykład
<div ng-repeat="item in items">
<span ng-show="item.isValid">
Valid item
</span>
<span ng-show="!item.isValid">
Invalid item
</span>
</div>
To dokładnie taki nadęty rozwiązanie bałem ... :( –
Ty nie można używać warunkowych w wyrażeniach kątowych. I, jeśli treść div jest lekki (tylko tekst), możesz użyć NG-bind (także pozwala uniknąć konieczności dodatkowego elementu zakresu):
<div ng-repeat="item in items" ng-bind="{true: 'Valid item', false: 'Invalid item'}[item.isValid]"></div>
Piękne Dokładnie to, co ja Wspominają w dokumentacji, że mogą występować "wyrażenia" w nawiasach klamrowych, a teraz lepiej rozumiem, jak z nich korzystać.Dzięki . –
Angary wprowadził ternarys w 1.1.5. Patrz tutaj - http: // stackoverflow .com/questions/12008580/a-ternary-in-angleular-templates-angularjs/12151492 # 12151492 – BradGreens
Zastanawiasz się, czy istnieją potencjalne problemy z używaniem znaków "&" w kodzie HTML? Czy przeglądarka może wygenerować błędy sprawdzania poprawności, zanim kątowe renderuje szablony? – kapace