AngularJS | 日期输入框不显示ng-model的值

11

日期输入框在用户更改日期之前不会显示日期

// showing the date
<p>{{someDate | date}}</p>

// not showing the date. instead showing mm/dd/yyyy.  
// but value will change when use change is
<input type="date" ng-model="someDate">

在 jsbin 中的示例代码

它可以在版本1.3.0-beta.3上工作,但是

我需要它在稳定版本1.2.14上工作。 有可能吗?


如果您使用 <input type='text'>,它可以工作。 您能否使用Bootstrap的日期选择器来替代本机的HTML5 type ='date' - BenCr
在AngularJS 1.3.0-rc.1上对我不起作用。 - Anand
3个回答

8

为什么指令要将初始化日期加一个月? - PilotBob
@PilotBob 嗯,不应该出现这种情况。请创建一个问题并附上一个 Plunk 来演示问题。我会尽快修复它。谢谢 ) - Slava Fomin II
当我查看上面链接的jsfiddle时,我看到的是你将日期初始化为3月19日,但我看到的是4月19日。http://screencast.com/t/WJmhhSx65 - PilotBob
@PilotBob 我认为你对Date对象API有些困惑。当你在JavaScript中实例化一个新的Date对象时,月份值是从零开始计数的,而不是从一开始计数的。因此,3实际上是四月(3 + 1 = 4)。请参阅文档:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date 不要问我为什么JavaScript的创建者决定做这样奇怪的事情)) - Slava Fomin II
1
啊,我一直在想这是否是问题所在,但后来又想,不会吧,那API太蠢了。 - PilotBob

2

0
尝试将 someDate 作用域变量从字符串转换为日期格式,然后使用 input 类型="date" ng-model="someDate"。这解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接