Javascript覆盖字符串true和布尔值true

时间:2014-09-23 08:13:32

标签: javascript angularjs

我有以下

$scope.user.infowindow.enable = ($scope.user.infowindow.enable=="true") ? true : false;

这会检查$scope.user.infowindow.enable是否为"true",如果是true则为false

有时$scope.user.infowindow.enable可以是true而不是字符串,最好将该内容编写到此脚本中,以便最终将$scope.user.infowindow.enable设置为{{} 1}}或true检查是否有字符串。

由于

3 个答案:

答案 0 :(得分:1)

使用或' ||'声明

 $scope.user.infowindow.enable = ($scope.user.infowindow.enable==="true" || $scope.user.infowindow.enable===true) ? true : false;

答案 1 :(得分:0)

或者使用" ===",明确地处理不同的案例:

$scope.user.infowindow.enable = 
   ($scope.user.infowindow.enable === "true" || 
    $scope.user.infowindow.enable === true) ? true : false;

虽然我宁愿理解为什么单个价值可以"有时"是一个字符串,"有时"是一个布尔值。这可能是你真正的问题......

答案 2 :(得分:0)

你可以试试这个:

$scope.user.infowindow.enable = (true === $scope.user.infowindow.enable || 'true' === $scope.user.infowindow.enable);