Почему ngModel не обновляет модель при вводе символов a-z или A-Z? Эта проблема произошла, когда я использовал Chrome в MacOS - PullRequest
0 голосов
/ 10 января 2019

Я на некоторое время перестал использовать 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>

Пожалуйста, проверьте скриншот ошибки здесь . Может ли кто-нибудь объяснить это мне? Я что-то пропустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...