У меня какое-то странное поведение происходит с ng-show. У меня есть post
с title
и link
. Ссылка может существовать или не существовать. Если это так, я хочу показать название как ссылку, иначе просто название.
(Строка: <a href="{{post.link}}"> {{post.link}}</a>
является тестовым кодом, и только там, чтобы проиллюстрировать, что {{post.link}}
, в факт, безусловно, содержит значение.)
<a ng-show="{{post.link}}" href="{{post.link}}">
{{post.title}}
</a>
<a href="{{post.link}}"> {{post.link}}</a>
Дает мне:
Таким образом, вы можете показаться, что {{post.link}}
существует, доступен и заполнен... но все равно каким-то образом оценивает значение false до ng-show и не появляется. Все, что я вижу, - результат тестового кода.
Принимая во внимание, что если я оцениваю true
или даже {{post.title}}
, то работает ng-show.
Я озадачен - чего я пропустил?
<a ng-show="true" href="{{post.link}}">
{{post.title}}
</a>
<a href="{{post.link}}"> {{post.link}}</a>
или же
<a ng-show="{{post.title}}" href="{{post.link}}">
{{post.title}}
</a>
<a href="{{post.link}}"> {{post.link}}</a>
Дает мне:
Ng-show не нуждается в {{... }}
поскольку он использует переменные напрямую. Измените его на
ng-show="post.link"
{{... }}
используется только тогда, когда вы хотите, чтобы результат был видимым в dom. ng-show является угловым, поэтому вам это не нужно.