AngularJS 的新手我遇到了以下问题:
如果字典为空,如何评估ng-if
?
使用数组ng-if="myArray.length"
效果很好,但不适用于字典。
编辑:也已经尝试过Object.keys(myDict).length
哪个不起作用。
AngularJS 的新手我遇到了以下问题:
如果字典为空,如何评估ng-if
?
使用数组ng-if="myArray.length"
效果很好,但不适用于字典。
编辑:也已经尝试过Object.keys(myDict).length
哪个不起作用。
ng-if 还能够评估范围内的函数。
例如:
<div ng-if="functionHere(x)" ></div>
然后在你的控制器中,你可以有
$scope.functionHere = function(input) { if [logic here]..... }
因此,如果您可以将逻辑包含在 javascript 函数中,那么您可以将 ng-if 的决定委托给函数返回的内容。
使用范围函数:
html:
<div ng-app="myModule" ng-controller="myController">
<div ng-if="!isEmptyObject(myObj)">
<h1>Hello</h1>
</div>
</div>
javascript:
angular.module('myModule', [])
.controller('myController', ['$scope', function($scope) {
$scope.isEmptyObject = function(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
$scope.myObj = {};
}]);
看看这个小提琴