angularjs、angular bootstap ( this one )、およびその日付ピッカーを使用して日付を入力しています。
<input type="text" datepicker-popup="dd.mm.yyyy" ng-model="dt" datepicker-options="dateOptions" ng-required="true">
日付ピッカーで選択した日付を手動で変更できるようにしたい。たとえば、datepicker で 07.09.2013 を選択し、それを 07.09.2012 に変更したいとします。これを行うには、入力をクリックし、バックスペースを押して最後の桁の 3 を削除し、そこに 2 を入力します。問題は、これを行うと、ng-model が Date オブジェクトからの文字列になり、datepicker が新しい日付をキャッチしないことです。これは、Angular ブートストラップ ページ (Firefox を使用) で試すことができます。
ユーザーが好きなテキストをそこに置くことができるブラウザを示す入力タイプのテキストと、これがどのように機能するかという ng-model ディレクティブのため、これは正常な動作であることを理解しています。しかし、この問題の回避策はありますか? ng-change または $watch を使用して ng-model を監視し、ここに記載されているライブラリを使用して Date オブジェクトに変換する必要があると考えました(日付形式がこの関数に対して有効でないため、Date.parse() を使用できません) )。
私の質問は次のとおりです。この問題に対する別の解決策はありますか? 構成フラグまたは角度固有のものはありますか?