我的html中有一个元素,我必须检查变量的类型,无论是否为布尔值。
<button process-indicator="{{typeof(button.processIndicator) === 'boolean' ? 'modalProcess' : 'modalClose'}}"/>
这里的过程指标是我的指示。但在我的情况下,它始终将值设置为'modalClose'。
我在这里做错了什么。
答案 0 :(得分:2)
由于 typeof()是JavaScript函数, {{}} 用于 Angular 表达式执行,因此我们无法在Angular表达式中执行JavaScript代码或函数。
为了实现这一点,我们需要将结果值分配给某些 $ scope变量,以便可以使用Angular表达式在HTML中使用它。
我们必须做一些类似于上面由@anpsmn在他的小提琴中解释的事情。 这是:
HTML:
<div ng-app="app" ng-controller="testCtrl">
<p process-indicator="{{checkType()}}">Value: {{checkType()}}</p>
控制器:
angular.module("app",[])
.controller("testCtrl",['$scope', function($scope){
$scope.processIndicator = false;
$scope.checkType = function() {
return typeof($scope.processIndicator)==='boolean'? 'modalProcess' : 'modalClose';
};
}])