我是 javascript 和 AngularJS 的新手,想知道为什么没有评估引号内的表达式?
<span ng-show="{{remaining()}}!==0">sometext</span>
它只是像这样打印:
<span ng-show="2!==0">sometext</span>
无论内容如何,ng-show 都不起作用。即使表达式包含在 eval 中,也会显示文本(和打印的表达式):
eval("{{remaining()}}!==0")
为此,我在 Controller 中创建了一个函数:
<span ng-show="renderOrNot()">sometext</span>
哪个有效,但我不希望每次要进行比较时都必须编写函数
最佳答案
差不多好了 ...
当您使用 {{}}
,这些值是内插的,即标记被替换为表达式的结果。 ngShow 只需要表达式,因此只需按原样使用该函数,它就会起作用:
<span ng-show="remaining() !== 0">sometext</span>
一般来说,您只需要
{{ }}
何时应显示您的表情/内容。
关于AngularJs:未评估 ng-show/ng-hide 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444394/