Как отформатировать ввод валюты в приложении RoR + AngularJS

Извините за мой английский.

Мне нужно изменить формат входного значения, например: с «1000000» на «1 000 000 $».

В моих представлениях о приложении rails у меня есть эта строка кода:

<%= ng_text_field('total_price', 'selected.data.total_price', 'Full price', ng_readonly: '!selected.permissions.update') %>

В помощнике:

  def ng_text_field(name, ng_model, placeholder, options = {})
    result = <<-HTML
      <div class = "form-group" ng-class='{"has-error":errors.#{name}}' #{options[:ng_if] && "ng-if=\"#{options[:ng_if]}\""}>
        <label for = "#{name}" class = "col-sm-3 control-label">#{placeholder}</label>
        <div class = "col-sm-9">
          <input id = "#{name}" 
                 type = "text" 
                 class = "form-control" 
                 name = "#{name}" 
                 placeholder = "#{placeholder}" 
                 ng-model = "#{ng_model}"
                 #{options[:ng_readonly] && "ng-readonly=\"#{options[:ng_readonly]}\""}>
          <p class = "help-block small" ng-if = "errors.#{name}">{{errors.#{name} | join:',' }}</p>
        </div>
      </div>
    HTML
    result.html_safe
  end

Я очень мало знаю Angular, я пробовал несколько способов, и все они были неверными. :(

Может ли кто-нибудь дать совет какой-то помощи? заранее спасибо

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно будет создать новую директиву, для которой требуется ngModel, и применить к ней соответствующий $parser/$formatter.

https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#$парсеры

Хороший пример того, как это сделать (отображение в верхнем регистре, но всегда сохранение данных в нижнем регистре):

Форматтеры и парсеры ngModel

Затем вы сможете добавить возможность включать другие директивы в аргумент «параметры», чтобы они правильно добавлялись к выходным данным.

Другие вопросы по теме