带有双花括号的angularjs表达式在标记属性中不起作用

时间:2013-12-23 20:44:03

标签: angularjs

尝试在以下属性中使用表达式:

<span ng-show="{{ ($state.current.name !== 'main') }}">
    <button class="btn btn-small"><a ui-sref="main">Take me home!</a></button>
</span>

...导致按钮显示在每个页面上,尽管在主页上显示以下内容时显示错误:

{{ ($state.current.name !== 'main') }}

1 个答案:

答案 0 :(得分:4)

由于ng-show是一个角度属性(指令),因此您无需在其中插入{{ }}

<span ng-show="$state.current.name !== 'main'">

所有 Angular aware 属性(因此,以ng等开头的任何内容)都不需要进行插值,因为angular已经知道它们是一个表达式。