<div ng-class="{
'undefined' : typeof object.property === 'undefined',
'edit-active' : open == true
}">
{{ object.property }}
</div>
这给我一个语法错误:
Error: [$parse:syntax] Syntax Error: Token 'object.property' is unexpected, expecting [}]
如何检查是否定义了object.property
?
注意:我使用的是角度1.2.28。
答案 0 :(得分:2)
如果你需要检查是否有smth,你可以做得更简单
<div ng-class="{
'undefined' : !object.property,
'edit-active' :open == true
}">
{{ object.property }}
</div>
答案 1 :(得分:1)
typeof运算符不会在角度表达式内工作。但是,您可以在范围内使用函数。
<div ng-class="{
'undefined' : checkType(object.property),
'edit-active' : open == true
}">
{{ object.property }}
</div>
在您的控制器中:
$scope.checkType = function(prop) {
return typeof prop === 'undefined';
}
答案 2 :(得分:0)
这也有效
创建过滤器:
.filter('isUndefined', [function() {
return function(input) {
return typeof input === 'undefined';
}
}]);
使用ng-class
中的过滤器:
<div ng-class="{
'empty' : object.property == '' || (object.property | isUndefined),
'edit-active' : open == true
}">
{{object.property}}
</div>