Извините за мой английский.
Мне нужно изменить формат входного значения, например: с «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, я пробовал несколько способов, и все они были неверными. :(
Может ли кто-нибудь дать совет какой-то помощи? заранее спасибо
Вам нужно будет создать новую директиву, для которой требуется ngModel, и применить к ней соответствующий $parser/$formatter.
https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#$парсеры
Хороший пример того, как это сделать (отображение в верхнем регистре, но всегда сохранение данных в нижнем регистре):
Затем вы сможете добавить возможность включать другие директивы в аргумент «параметры», чтобы они правильно добавлялись к выходным данным.