【发布时间】:2017-08-04 08:26:12
【问题描述】:
我正在使用 Angular 1.6,我想直接将字符串绑定到日期类型的输入,而不必将日期转换为日期然后绑定到输入。原因是我从服务器获取 JSON(以及其他数据),我不想仅为日期创建中间变量,我想直接使用 JSON,因此我可以按原样回发我的 JSON当输入字段有修改并且不需要使用 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 是可以的,但是如果我将它绑定到变量 $scope.dateString 则是 KO。
【问题讨论】:
-
正确的方法是使用
Date对象,然后,如果你想显示那个日期,你可以在它上面应用一个过滤器{{ date | date }}。您可以在收到 json 时将 Date 对象实例化到服务中。 -
你可以使用
ngModelController函数和自定义解析器和查看器docs.angularjs.org/api/ng/type/… -
@Hitmands :thanx 但不能满足我的需要
-
@Icycool :没那么简单,但似乎是最好的解决方案,thanx
标签: javascript angularjs json date