AngularJS ng-禁用传递多个表达式(使用 OR)

AngularJS ng-disabled passing more than one expression (using OR)

我需要在选择 "Credit Card" 或 "Debit Card"

选项时阻止输入

它只适用于一个表达式,但是当我使用 OR 这样做时它不起作用

app.controller('simuladorPedidoCtrl', function($scope) {
    $rootScope.listaPagto = [{ name: "A vista", id: 1 }, { name: "Boleto", id: 2 }, { name: "Cheque", id: 3 }, { name: "Cartão de Débito", id: 4 }, { name: "Cartão de Crédito", id: 5 }, { name: "Indefinido", id: 6 }];
  
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-controller="simuladorPedidoCtrl">

  <label for="FormaPagamento" class="control-label">Forma de Pagamento</label>
  <select style="width: 100%" id="FormaPagamento" name="FormaPagamento" ng-model="model1.DadosPagamento.Forma"  class="form-control">
       <option value="">Selecione...</option>
       <option ng-repeat="item in $root.listaPagto | orderBy:'name'" value="{{item.name}}">{{item.name}}</option>
  </select>

<label for="CartaoNome" ng-disabled="" class="control-label">Name</label>
<input type="text" ng-disabled="model1.DadosPagamento.Forma != 'Cartão de Crédito' || model1.DadosPagamento.Forma != 'Cartão de Débito'" class="form-control" id="CartaoNome" name="CartaoNome" ng-model="model1.DadosPagamento.CartaoNome">
  
  </div>

这是一道逻辑题。如果是借记卡,则不会是信用卡 - 如果是信用卡,则不会是借记卡。

因此,(notCredit || notDebit) 将始终 return 为真。

我认为应该按照以下逻辑重新排列:

ng-disabled="model1.DadosPagamento.Forma != 'Cartão de Crédito' && model1.DadosPagamento.Forma != 'Cartão de Débito'"