在角度模板中检查值是否为空且不为空?

时间:2014-12-24 09:39:54

标签: javascript angularjs

如何检查值是否为空且不为空。

控制器中的

$scope.data.variable = 'some valid data';

<div ng-if="data.variable != ''">something else</div>

由于

3 个答案:

答案 0 :(得分:8)

因为null和empty都是假值

如果not nullempty评估为truenullempty中的任何一个评估为false,则

div.variable

 <div ng-if="data.variable">something else</div>

答案 1 :(得分:5)

我建议你有这样一个功能是你的控制器:

$scope.isEmpty = function(value){
return (value == "" || value == null);
};

你的HTML:

<div ng-if="!isEmpty(data.variable)">something else</div>

如果此功能在您的许多页面中都有用,我建议您将其放在$ rootScope上,以便在整个应用程序中识别它。

答案 2 :(得分:0)

从你的情况来看,我认为你期待一个空字符串,或null。为了写一个合理的检查,我认为最好这样做;

$scope.isValid = function(val) {
    var ret = true;
    if (angular.isString(val)) {
        ret = ret && (val.length > 0);
    }
    return ret && (val !== null);
}