#angular #input #format #currency
#angular #ввод #форматирование #Валюта
Вопрос:
С помощью таких каналов, как
<input....
[ngModel]="whatever | myCurrencyPipe"
(ngModelChange)="whatever = $event"
type="text"
name="myCurreny"
...
вы можете отформатировать существующее значение. Едва вы захотите перезаписать значение, у вас возникнут проблемы. И с помощью приведенного выше решения двойная привязка была отменена.
Существует множество библиотек jQuery, но я ищу собственные решения angular2.
Может кто-нибудь мне помочь?
Комментарии:
1. В чем именно заключается ваш вопрос, не могли бы вы уточнить, пожалуйста? Спасибо!
2. что-то вроде этого: github.com/customd/jquery-number для Angular2
3. Вы заглядывали в текстовую маску ? Его можно отформатировать , чтобы замаскировать значение валют.
4. спасибо @Roy, этого достаточно для начала,..
Ответ №1:
- Расширьте директиву ngModel. Перезаписать функцию viewToModelUpdate(значение), вызываемую после каждого изменения ввода и установки значения модели.
- Замените ngModel на вашу реализацию (providers[] в модуле)
- Считывание регулярного выражения, фильтра или средства форматирования из указанного атрибута непосредственно при вводе, например: <входной фильтр=»валюта» />
Рабочий пример вы можете найти здесь: http://stacktrase.com/2017/07/14/angularjs4-restrict-input-text-by-extending-ngmodel /