我试图翻译input
中的值。当我需要翻译时,输入被禁用,因此用户无法在文本框中键入文本。数据使用ng-model
输入,目前看起来像这样:
<input ng-model="reason" ng-disabled="true" type="text" class="form-control" name="reason">
我还尝试过以下方法:
<input ng-model="reason|translate" ng-disabled="true" type="text" class="form-control" name="reason">
<input ng-model="{{ reason | translate}}" ng-disabled="true" type="text" class="form-control" name="reason">
但它们都没有奏效。
我可以翻译控制器中的值,但是我想在html标签中执行此操作,因此范围上的实际值不会被更改。 我怎样才能做到这一点?
答案 0 :(得分:0)
我得到了这个例子:考虑一个你想要翻译的是或否值的输入。在模板中尝试单向数据绑定:
<input value="{{ answer | translate }}"
type="text" class="form-control" name="answer"
(change)="answerChanged($event)">
如果您还想更新该值,请侦听组件中的更改:
answerChanged(Event event) {
this.answer = event.target.value.toUpperCase();
}
关于i18n文件。
en.json:
{
"YES": "Yes",
"NO": "No"
}
fr.json:
{
"YES": "Oui",
"NO": "Non"
}
Plunker:
答案 1 :(得分:0)
您可以将ng-value用于输入而不是HTML输入&gt;值。然后你可以轻松翻译它们:
<input ng-value="ctrl.reason | translate" ng-model="ctrl.reason">