私は<input type="email">
を持っており、ユーザーはInternationalized Domain Name、角度入力した場合(EDIT:それは角度のせいではない以外 - 詳細についてはmy answerを参照)は自動的にいいですpunycodeに値を変換し、値が表示された場合、ユーザーにとって非常に混乱します。例えば。防止角度からのメールの入力にマングリング
[email protected]ábc.com
バックエンドは、ドメインの本来のUnicodeバージョンを期待しているときにも問題が発生し、角度アプリが代わりPunycodeでバージョンを送り
[email protected]
になります。
punycode.jsこれを元に戻すには、別のライブラリを使わずにAngularでこれを行う方法があります - Angularがエンコーディングをしないように指示するか、またはその後に元の値を取得するか?
var myApp = angular.module('myApp',[]);
function thing($scope) {
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<p>Copy this text into the input:</p>
<p>[email protected]ábc.com</p>
<div ng-controller="thing">
<input id="inp" type="email" class="form-control" ng-model="addr">
<p>Model gets: {{addr}}</p>
</div>
</body>
しかし、私は入力を私のモデルにバインドしたいのですが、 'ng-model'を使わないとどうしたらいいですか? – CupawnTae
ng-changeを使ってスコープ変数にバインドできますが、いくつかのドキュメントを読むことができます。角度ジェネレータが入力メールに魔法をかけるのを防ぎながらng-modelを使う方法がなければならない –
あなたが興味がある場合に備えてAngularの誤りではないことが判明 - その旨の回答を掲載 – CupawnTae