在html内部如何通过角度表达式检查是否有任何变量是布尔值?

时间:2015-02-04 09:57:56

标签: javascript html angularjs

我的html中有一个元素,我必须检查变量的类型,无论是否为布尔值。

<button process-indicator="{{typeof(button.processIndicator) === 'boolean' ? 'modalProcess' : 'modalClose'}}"/>

这里的过程指标是我的指示。但在我的情况下,它始终将值设置为'modalClose'。

我在这里做错了什么。

1 个答案:

答案 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';
}; 

}])