AngularJs:未评估 ng-show/ng-hide 表达式

标签 angularjs

我是 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/

相关文章:

javascript - 从表中删除行(删除的行数多于选定的行数)

django - 如何更改allauth中的电子邮件验证链接

javascript - 如何使用 underscore.js 找到数组中对象的索引?

javascript - 我的应用程序中的 Angularjs 模态窗口实现

angularjs - Angular ng-controller 问题

javascript - Protractor ,使用 isDisplayed() 我得到 NoSuchElementError : No element found using locator

javascript - 注销后如何重定向用户

javascript - 在 angularjs 文件函数之后执行 .js 文件

angularjs - 如何在 AngularJs 的 $mdDialog 中更改样式或添加 CSS?

javascript - 我想将选择框的 ID 传递给 Angular JS 中的函数