使用指令的 AngularJS 浏览器自动填充解决方法
2022-08-30 05:43:28
在AngularJS中提交表单并使用浏览器记住密码功能时,在随后的登录尝试中,您让浏览器使用用户名和密码填写登录表单,模型不会根据自动填充进行更改。$scope
我发现的唯一肮脏的黑客是使用以下指令:
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);
}
};
}]);
问题在于 不会根据返回值更改模型或视图。我怎样才能做到这一点?ngModel.$setViewValue(element.val());
element.val()