如何用AngularFire在firebase中输入时间
How to input a time into firebase with AngularFire?
我希望用户能够通过从输入框中选择时间向firebase数据库提交时间。
我知道如何让用户根据firebase文档在firebase中输入文本,但不知道用户如何在firebase中输入时间。
当我在输入框中添加"type="time"'时(如下所示),下面的代码不能再向firebase提交输入。当它被移除时,它就会恢复正常。
HTML<html ng-app="sampleApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/1.1.3/angularfire.min.js"></script>
</head>
<body ng-controller="SampleCtrl">
<ul>
<li ng-repeat="message in messages">
<input ng-model="message.text" ng-change="messages.$save(message)" />
<button ng-click="messages.$remove(message)">Delete Message</button>
</li>
</ul>
<form ng-submit="addMessage()">
<input type="time" ng-model="newMessageText" />
<button type="submit">Add Time</button>
</form>
</body>
</html>
AngularJS
var app = angular.module("sampleApp", ["firebase"]);
app.controller("SampleCtrl", function($scope, $firebaseArray) {
var ref = new Firebase("https://frontier.firebaseio.com/messages");
$scope.messages = $firebaseArray(ref);
$scope.addMessage = function() {
$scope.messages.$add({
text: $scope.newMessageText
});
};
});
如何向firebase提交时间?
查看我的codepen在这里
这里有几件事要做:
-
text
类型的输入(输入的默认类型)将返回一个字符串 -
time
类型的输入将返回一个Date对象 - Firebase存储JSON数据 Date对象没有JSON数据类型
因此,在将时间传递给Firebase之前,您必须将其转换为支持的类型。
$scope.addMessage = function() {
$scope.messages.$add({
text: $scope.newMessageText.toString()
});
};
注意,如果您只想显示日期,那么将日期存储为字符串是非常好的。但是如果你还想对它进行操作(例如,基于日期进行过滤),你可能会想要将其存储为时间戳:
$scope.addMessage = function() {
$scope.messages.$add({
text: $scope.newMessageText.toString(),
timestamp: $scope.newMessageText.getTime(),
});
};
相关文章:
- 测量输入时间
- 24小时输入时间:mm格式跨浏览器
- 自动刷新输入时间对象,无需重新加载页面
- 如何创建具有自定义输入时间的 Javascript 时钟
- 从表单输入时间
- Knockout text输入时间验证
- 输入时间值Javascript
- AngularJS输入时间字符串
- 如何用AngularFire在firebase中输入时间
- 输入时间之间的JS差异
- Javascript倒计时与开始/停止/重置和输入时间从用户
- 输入时间[type= time]设置值
- Javascript验证格式为hh:mm a的输入时间
- jQuery移动端输入时间带步
- 验证输入时间(单位为分钟)
- 试图在点击按钮时输入时间戳
- 用于输入时间的Javascript代码
- Jquery/Javascript:根据用户输入时间做一些事情
- Javascript函数允许在范围(08 - 15)之间输入时间,或者在单击时在文本框中输入默认(在范围内)时间
- 如何添加两个输入时间值并将其显示在另一个输入框中