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

Javascript 检查角度模板中的值是否不为空且不为空?,javascript,angularjs,Javascript,Angularjs,如何检查值是否为空和非空 在控制器中: $scope.data.variable='some valid data' 其他东西 谢谢因为null和empty都是错误的值 div.variable ifnotnull或empty将计算为true,如果null或empty中的任何一个将计算为false <div ng-if="data.variable">something else</div> 还有别的吗 我建议您在控制器上有这样的功能: $scope.isEmpty

如何检查值是否为空和非空

在控制器中:
$scope.data.variable='some valid data'

其他东西


谢谢

因为null和empty都是错误的值

div.variable if
not
null
empty
将计算为
true
,如果
null
empty
中的任何一个将计算为false

 <div ng-if="data.variable">something else</div>
还有别的吗

我建议您在控制器上有这样的功能:

$scope.isEmpty = function(value){
return (value == "" || value == null);
};
以及您的HTML:

<div ng-if="!isEmpty(data.variable)">something else</div>
还有别的吗

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

从您的情况看,我认为您期望的不是空字符串,就是
null
。要写一张合理的支票,我认为最好这样做;
$scope.isValid = function(val) {
    var ret = true;
    if (angular.isString(val)) {
        ret = ret && (val.length > 0);
    }
    return ret && (val !== null);
}

另外,您的解决方案更具可读性,可以立即传达开发人员的意图。如果在Angular中配置严格模式模板,则可能会引发错误。