2017-02-01 3 views
0

Ist es möglich, mehr als ein ng-Modell in einem Eingabefeld zu haben?Verwendung von mehr als zwei ng-Modellen in einem Eingabefeld

zB: <input ng-model="formData.glCode" ng-model="accNumber" ng-change="accNumber = editAccountNumber(accNumber)"/>

Da alle Eingänge, wo ich diese haben ng-Modell bereits eingestellt anwenden möchten, und ich brauche auch Modellname ng-model="accNumber"

+0

Schauen Sie sich diese http://stackoverflow.com/questions/29448097/multiple-ng-models-on-one-input-field – Nitheesh

+0

Mögliches Duplikat von [Wie binden Sie 2 Modelle an ein Eingabefeld in Angular?] (Http://stackoverflow.com/questions/13890331/how-to-bind-2-models-to-one-input-field-in- winkelig) –

Antwort

1

bearbeiten Wenn Sie die Eingabe bearbeiten und Sie versuchen, das Modell mit dem Controller verwendet das gleiche Modell zu binden, die bereits am Eingang vorhanden ist:

<input ng-model="formData.glCode" ng-change="formData.glCode = editAccountNumber(formData.glCode)"/> 

Mögliche doppelten: How to bind 2 models to one input field in Angular?

+0

Danke Mohamad, das macht genau das, was ich will –

+0

Kannst du bitte prüfen prüfen Die Antwort ist korrekt, wenn das Problem gelöst wurde. –

0

Nein, ngModel sollte nicht solche Dinge tun, an: ng-model-options

<input ng-model="name" ng-model-options="{updateOn: 'blur'}"> 

für weitere Informationen Sie auf diesen Link können versuchen, An diesem Punkt ist es besser, die Logik aus der Ansicht zu verschieben. Für dieses Szenario können Sie $watch verwenden und den Wert accNumber im Controller abrufen.

Arbeits Demo:

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>

Verwandte Themen