javascript - Angular js 内联条件 - 检测数字

标签 javascript angularjs

数据来自 db ,这个 html 元素是 ng-repeat

{{count}}

我的问题

如果有其他条件,我该如何显示,

如果 countnull (无计数值),我将显示 0 (计数值应为零),否则显示原始 计数

我希望有像{{count if '' else ''}}这样的解决方案

最佳答案

您可以使用 {{count || 在您的 View 中包含逻辑0}}{{ 计数 ? count : 0 }} 但这使得可维护性更加困难并且重复逻辑。

更好的选择是创建自定义过滤器。这将允许您在一个位置定义条件,并使其可在许多指令中重复使用,而且可测试。

.filter('isEmpty', function() {
   return function (data) {
    return (data === null || data === undefined) ? 0 : data;   
   }
});

你会像这样使用它

{{item | isEmpty}}

参见 fiddle :http://jsfiddle.net/fhfsex4v/2/

编辑:这是过滤器的文档,它将解释它的作用以及如何将可选的额外参数传递到过滤器和其他很酷的东西中。 https://docs.angularjs.org/guide/filter

关于javascript - Angular js 内联条件 - 检测数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32627629/

相关文章:

javascript - 从 HTTP GET 请求中获取数据

javascript - 在 jquery ui datepicker 中禁用不可用/不需要的日期

javascript - 具有单选按钮类型行为的复选框

javascript - 如何使用 Passport 和 Node.js 在客户端区分经过身份验证的用户?

javascript - 合并和求和值并将它们放入数组中

angularjs - 火力地堡一次(): Use success and failure callbacks

javascript - 从 extJS 4 迁移到 extJS 5 : property undefined

php - 将 href 值增加一(Javascript)

javascript - 超时的地理位置导致错误处理程序被调用两次

angularjs - Protractor 从 dom 中移除元素