Quando si invia un modulo in AngularJS e si utilizza la funzionalità di memorizzazione della password del browser, e in un successivo tentativo di accesso si consente al browser di compilare il modulo di accesso con il nome utente e la password, il $scopemodello non verrà modificato in base alla compilazione automatica.
L'unico trucco sporco che ho trovato è usare la seguente direttiva:
app.directive("xsInputSync", ["$timeout" , function($timeout) {
return {
restrict : "A",
require: "?ngModel",
link : function(scope, element, attrs, ngModel) {
$timeout(function() {
if (ngModel.$viewValue && ngModel.$viewValue !== element.val()) {
scope.apply(function() {
ngModel.$setViewValue(element.val());
});
}
console.log(scope);
console.log(ngModel.$name);
console.log(scope[ngModel.$name]);
}, 3000);
}
};
}]);
Il problema è che ngModel.$setViewValue(element.val());non cambia il modello né la vista in base al element.val()valore restituito. Come posso farlo?