是否可以在一个输入字段上安装多个ng模型?
e.g:
<input ng-model="formData.glCode" ng-model="accNumber" ng-change="accNumber = editAccountNumber(accNumber)"/>
因为我想要应用的所有输入都已经设置了ng-model,我还需要编辑模型名称ng-model="accNumber"
答案 0 :(得分:1)
如果您无法编辑输入并且您尝试将模型绑定到控制器,请使用输入中已存在的相同模型:
<input ng-model="formData.glCode" ng-change="formData.glCode = editAccountNumber(formData.glCode)"/>
答案 1 :(得分:0)
不, ngModel
不应该做这样的事情,此时最好从视图开始重新定位逻辑。在这种情况下,您可以使用 $watch
并在控制器中获取accNumber
值。
工作演示:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl',function($scope) {
$scope.$watch('formData.glCode', function(){
console.log($scope.accNumber);
});
$scope.editAccountNumber = function(glCode) {
return glCode;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<input type="text"
ng-model="formData.glCode"
ng-change="accNumber = editAccountNumber(formData.glCode)"/>
</div>
答案 2 :(得分:-1)
您可以使用以下代码:ng-model-options
<input ng-model="name" ng-model-options="{updateOn: 'blur'}">
有关详细信息,您可以尝试以下链接: http://www.w3schools.com/angular/ng_ng-model-options.asp