如果数据字段为空,如何在视图中显示默认值,以角度.js表示

How to show a default value in the view if a data field is empty, in angular.js?

本文关键字:显示 默认值 表示 js 字段 数据 如果 视图      更新时间:2023-09-26

当数据字段为空时,在视图中显示占位符值的最佳方法是什么,在 Angular.JS?

例如,如果vm.text为空,我希望它在视图中显示- - -。如果它不为空,则显示 vm.text 的值:

选项 1,我知道我可以通过使用 ng-show 属性来实现这一点:

<div>
    <span ng-show="!vm.text">- - -</span>
    <span ng-show="vm.text">{{ vm.text }}</span>
</div>

选项 2,在控制器中,我可以将vm.text的值设置为"- - -",而不是将其重置为 ""

 // reset field
 vm.text = "- - -";

在 Angular 中是否有另一种更简单的方法.JS我不知道?

你可以

做:

<div>
    <span>{{ vm.text || '- - -' }}</span>
</div>

我不喜欢在我的观点中有很多逻辑。

为了简化事情,我建议在您的控制器/服务中实现一些逻辑,如果未分配,则将 vm.text 设置为 '- - -'

这有意义吗?

然后保持前端干净简单

<div>
    <span>{{ vm.text }}</span>
</div>

您可以使用三元运算符。

<span>{{ vm.text === '' ? '- - -' : vm.text }}</span>

您可以注册filter

https://docs.angularjs.org/api/ng/provider/$filterProvider#register

yourModule.filter('defValue', function(){
    return function(input){
        if(!input) return "---";
    };
});
<span>{{vm.text | defValue}}</span>