为什么我的angularjs的OR运算子无法运作?

时间:2018-09-24 17:16:33

标签: angularjs

我正在使用angularjs中的if条件检查状态是否为!=传递或状态为!=取消然后提醒消息

    if($scope.itemDeliveredStatus != "Canceled" || $scop.itemDeliveredStatus != "Delivered"))
{
    alert("Please set item status to Delivered! or Canceled!");
    return false;
}

2 个答案:

答案 0 :(得分:0)

在第二种情况下出现错字,您将$scop代替了$scope

$scop.itemDeliveredStatus

以及该行末尾的多余)

答案 1 :(得分:0)

首先,您确实有错别字,但这只是一个小问题。另一个是逻辑问题。

您使用OR的逻辑是错误的。下面的简单示例向您展示了这一点。

var foo = "A";
if (foo !== "A" || foo !== "B") {
  console.log("WHY?")
}

为什么?因为您说的是,要使此if语句为true,变量foo必须等于两件事。

您要说foo不等于A并且foo不等于B会显示错误。

var foo = "A";
if (foo !== "A" && foo !== "B") {
  console.log("WHY?")
} else {
  console.log("Better!!!")
}

因此,在解决了两个问题之后,您的代码将如下所示:

if ($scope.itemDeliveredStatus != "Canceled" && $scope.itemDeliveredStatus != "Delivered") { /*.. code */ }