如何检查 ng-class 中的变量类型?
How to check type of variable inside ng-class?
<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
是否已定义?
注意:我使用的是angular 1.2.28.
如果你需要检查是否有smth,你可以做的更简单
<div ng-class="{
'undefined' : !object.property,
'edit-active' :open == true
}">
{{ object.property }}
</div>
typeof 运算符在 angular 表达式中不起作用。但是,您可以在范围内使用函数来执行此操作。
<div ng-class="{
'undefined' : checkType(object.property),
'edit-active' : open == true
}">
{{ object.property }}
</div>
在你的控制器中:
$scope.checkType = function(prop) {
return typeof prop === 'undefined';
}
这也行
创建过滤器:
.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>
<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
是否已定义?
注意:我使用的是angular 1.2.28.
如果你需要检查是否有smth,你可以做的更简单
<div ng-class="{
'undefined' : !object.property,
'edit-active' :open == true
}">
{{ object.property }}
</div>
typeof 运算符在 angular 表达式中不起作用。但是,您可以在范围内使用函数来执行此操作。
<div ng-class="{
'undefined' : checkType(object.property),
'edit-active' : open == true
}">
{{ object.property }}
</div>
在你的控制器中:
$scope.checkType = function(prop) {
return typeof prop === 'undefined';
}
这也行
创建过滤器:
.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>