私はAngular 1.6を使用しています。日付をDateに変換してから入力にバインドする代わりに、文字列を型dateの入力に直接バインドしたいと思います。その理由は、サーバーからJSON(他のデータとともに)を取得し、日付の中間変数を作成したくないので、JSONを直接使用したいので、そのままJSONをそのままPOSTすることができます入力フィールドに変更があり、ng-changeを使用して日付を変換してJSONなどを入れない場合... plunkered私の問題があります。ここで角型バインド文字列日付入力型日付
はhtmlです:
<body ng-app="plunker" ng-controller="MainCtrl">
<form name="myForm">
<label for="exampleInput">Date input</label>
<input type="date" id="exampleInput" name="input" ng-model="date" placeholder="yyyy-MM-dd"/>
</form>
</body>
そして、ここでは、JavaScriptです:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.dateString = '2017-01-31';
$scope.date = new Date(2017, 11, 31);
});
私は変数$ scope.dateへの入力をバインドする場合、それはOKですが、私はバインドした場合、それはKOですそれを変数$ scope.dateStringに渡します。
正しい方法は、あなたがしたい場合は、その後、 'Date'オブジェクトを使用することですその日付を表示するには、フィルタを適用するだけです。 '{{date |日付}} '。 jsonを受け取ったときに、Dateオブジェクトをサービスにインスタンス化できます。 – Hitmands
'ngModelController'関数を使ってカスタムパーサーとビューアを作ることができます。https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#custom-control-example – Icycool
@Hitmands:thanxでも私には答えません。 – Mouss