все, у меня есть ошибка, которую я не могу исправить вообще.
Объяснение: я создал трубку для использования в моем проекте Angular 6/Material 2, который должен очистить строку, напечатанную в текстовом поле.
Здесь выполняется тестовая/трубка: https://stackblitz.com/edit/angular-glitched-unix-firefox
Что он делает: 1 - на основе charmap, заменяет такие символы, как éèêë
, его сырой версией e
. 2 - затем удаляет любой chacarter, который не принадлежит указанному регулярному выражению: /[^a-zA-Z0-9 \-"#$%&'()*+,.;:<=>?!@/[\]\\^_'{|}~]/g
Пример: изменение érick
by erick
или по
love
Ошибка: В WINDOWS не имеет значения браузер (проверенный в Chrome, IE и Firefox), он работает. Когда я тестирую в UNIX, он работает в Chrome и Safari, но не в Firefox. Вместо того, чтобы делать то, что он должен делать, он опустошает текстовую область.
Я нашел решение, а не решение, но это решение.
Isntead использования (ngModelChange)
Я использую (keyup)
вызывающий трубку изнутри. Таким образом, бесконечный цикл, который происходил, больше не случается. (Да, я нашел бесконечный цикл после того, как я разместил вопрос)
Я предположил, что ошибка была в том, как Браузер имел дело с петлей бесконечности. Chrome просто отменил его, и Firefox удалил данные, которые его вызывали.
Пример решения: https://stackblitz.com/edit/angular-glitched-unix-firefox-fix