Я на некоторое время перестал использовать AngularJ. Вчера я просто запустил некоторый базовый код, чтобы не забыть синтаксис, и тогда возникла проблема. user.name
не обновлялось при вводе символов a-z и A-Z. Он обновлялся только тогда, когда я нажимал где-то в браузере или набирал цифры или специальные символы. Эта проблема возникала только в Chrome на MacOs (версия Chrome 71.0.3578.98 (официальная сборка) (64-разрядная версия)), когда я использовал Safari или Chrome в Windows (мой MacBook работает с двойной загрузкой), этого не произошло.
Код, который я запускаю, является последним примером в этом Angular ngModel doc
app.js
angular.module('getterSetterExample', [])
.controller('ExampleController', ['$scope', function($scope) {
var _name = 'Brian';
$scope.user = {
name: function(newName) {
// Note that newName can be undefined for two reasons:
// 1. Because it is called as a getter and thus called with no arguments
// 2. Because the property should actually be set to undefined. This happens e.g. if the
// input is invalid
return arguments.length ? (_name = newName) : _name;
}
};
}]);
index.html
<code><div ng-controller="ExampleController">
<form name="userForm">
<label>Name:
<input type="text" name="userName"
ng-model="user.name"
ng-model-options="{ getterSetter: true }" />
</label>
</form>
<pre>user.name = <span ng-bind="user.name()"></span>
Пожалуйста, проверьте скриншот ошибки здесь .
Может ли кто-нибудь объяснить это мне? Я что-то пропустил?