我的日期来自服务器,格式为Date.now()并存储在order.date中
<input type="date" data-ng-model="order.date" id="date"
name="date" min="2013-01-01" max="2020-12-31" required/>
目前,order.date由服务器发送,并以Date.now()的形式存储。即使order.date有效,它也会将dd / mm / yy显示为占位符。
使用
设置order.date时效果很好order.date = new Date(2013, 9, 22)
但不是
order.date = Date.now();
也可以在http://plnkr.co/edit/sl9OlHSNRPo2LXzupOxT?p=preview中进行测试。
答案 0 :(得分:2)
似乎date
输入类型的问题,这是我为使其工作所做的事情
angular.module('dateInputExample', [])
.controller('DateController', ['$scope', '$filter', function($scope, $filter) {
// change the format to "yyyy-MM-dd"
$scope.value = $filter('date')(Date.now(), "yyyy-MM-dd");
}]);
并在模板中添加value
属性
<input
type="date"
value="{{value}}"
id="exampleInput"
name="input"
ng-model="value"
placeholder="yyyy-MM-dd"
min="2012-01-01"
max="2030-12-31"
required />
此处正在运作plunker
答案 1 :(得分:1)
Date.now()可能会返回不同的格式日期。首先,您必须将返回的日期转换为所需的日期格式,然后将其分配给order.date变量范围
var todayDate = Date.now();
$scope.order={};
$scope.order.date=$filter('date')(todayDate, "yyyy/MM/dd");
// don't forget to inject $filter in your controller
//then it will work as you want
答案 2 :(得分:0)
尝试将order.date绑定到页面主体上并查看是否正在设置它,例如<p>{{order.date}}</p>
并检查您是否正在为该视图使用正确的控制器或控制器已定义。