2017-05-22 9 views
0

ngKeypressイベントを使用してモデル値を変更しようとしていますが、inputにはmodelngValueがあります。 ENTERを押すとモデルが値を受け取り、ngValueはそれを処理しません。ngValueがngKeypressでモデルの変更を反映しない理由

  • を入力
  • を作成し、このコードを追加し、コントローラchange方法でng-keypress="change($event)"
  • を追加ng-value="value"
  • を追加します:if (event.keyCode === 13) $scope.value = new Date()
  • ngValueは、変更を反映しない再現する

    by change方法

例:angular 1.6.xhttps://codepen.io/betonetotbo/pen/MmZJmg

これは1.5.xでは、発生しません。

これはバグですか?

+0

サンプルを開いて正しく動作します。あなたは何を期待していますか? – quirimmo

+0

@quirimmo申し訳ありませんが、この例は1.6の角度で動作していましたが、バージョン1.5.8に修正しました。もう一度試してみてください。 –

+0

しかし、あなたが期待している動作は何ですか、起こっていませんか? – quirimmo

答えて

0

issue 16006によると、これは角度1.5.xで予想される動作です。

  • 角度1.5.xの= ngValue変更のみvalue attributeなくvalue property
  • 角度1.6.xのは= ngValue私の場合value attributevalue property

を変更し、私は第2モデルを作成解決し、使用ng-model私が必要とすることをする。別の解決策は、角度1.6に移行することです。

0

あなたが報告したものは、角度1.6のバージョン以降に追加された機能です。 小さなトリックでも同じ動作を実現できます。あなたのHTMLは、このように変更します。

<input type="text" ng-value="getData()" ng-keypress="stuff($event)"> 

そして、あなたのコントローラ内でこの機能:

$scope.getData =() => { 
    return $scope.value; 
}; 

は、あなたが探していたものを、このですか?

関連する問題