2017-07-24 27 views
0

如果vm.agentCommission爲0,那麼我希望該字段爲空,所以用戶在打字前不必刪除零。使用ng-model時零空白字段,這可能嗎?

我嘗試這樣做:

<input ng-model="vm.agentCommission ? '' : vm.agentCommission" .... 

但我得到這個:

Expression 'vm.agentCommission ? '' : vm.agentCommission' is non-assignable. 

有沒有辦法在角做到這一點?

回答

0

使用三元操作中ng-change

ng-change="(vm.agentCommission === '0') ? vm.agentCommission = '' : vm.agentCommission" 

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
var vm = this; 
 
//vm.agentCommission = ""; 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl as vm"> 
 
<input ng-model="vm.agentCommission" ng-change="(vm.agentCommission === '0') ? vm.agentCommission = '' : vm.agentCommission"> 
 
</div>

+0

什麼是「===」? – torbenrudgaard

+0

檢查此https://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used-in-javascript-comparisons –

+0

好的謝謝。如果我在控制器中將其設置爲「」,您的解決方案纔有效,我想避免這樣做。即使我這樣做,將其更改爲1,然後回到0,它不會空白該字段。 – torbenrudgaard

0
<input ng-model="vm.agentCommission > 0 ? vm.agentCommission : '' " > 

我改變你的代碼位。請檢查這是否有效。

+0

給出原因完全相同的錯誤:) – torbenrudgaard