我有一个HTML5日期输入,我希望默认情况下将其值设置为我的模型中的日期属性的值.我对格式化并不是太挑剔,因为Chrome似乎根据我的语言环境决定对我来说,但理想情况下格式会一致dd/MM/yyyy.
这是我设置输入的方式:
<input type="date"
ng-model="date"
value="{{ date | date: 'yyyy-MM-dd' }}" />
Run Code Online (Sandbox Code Playgroud)
这在Chrome上工作正常,默认情况下我会看到以下内容:

(我仍然不太明白为什么必须提供值yyyy-MM-dd,如果Chrome仍然根据我的语言环境对其进行格式化,但这是一个不同的问题.)
我的问题是Firefox没有以我指定的方式显示日期的值.我认为这与将输入绑定到date模型有关,因为我可以在value属性中指定几乎任何字符串,并且我仍然会在输入中看到默认的长日期字符串:

如果我ng-model="date"从输入标签中删除,Firefox会很好地显示我给它的任何值.我不认为输入绑定的模型实际上对其默认值有任何影响?
我理解普遍不支持日期输入,但看到它应该依赖于简单的文本输入,我不明白为什么它的值不会简单地2013-08-05由angular的日期过滤器指定.
那么,如何让Firefox在日期输入中接受我的格式化值?
注意在用户完成编辑后,我当然会执行验证并将每个日期输入值转换为适当的Date对象.不确定这是否与问题相关,而是将其放在那里以防万一,因为输入格式显然需要保持一致,以便日期转换在所有浏览器中都能正常工作.当然有问题,Chrome决定我的输入格式......