对不起,我的英语。
我需要更改输入值格式,例如:从“ 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知之甚少,我尝试了一些方法,但所有这些方法都不正确。 :(
有人可以提供帮助吗? 预先谢谢你
答案 0 :(得分:0)
您将需要创建一个新的指令,该指令需要ngModel并对其应用适当的$ parser / $ formatter。
https://docs.angularjs.org/api/ng/type/ngModel.NgModelController# $解析器
一个很好的例子(显示为大写,但始终将数据存储为小写):
ngModel Formatters and Parsers
然后您应该能够在'options'参数中添加包含其他指令的功能,以便将它们正确添加到输出中。