我想知道是否有办法捕获AngularJS中的事件时间?
例如:
我有三个按钮ng-click
和button A
指令。我点击some magic
,button B
告诉我点击此按钮的时间。接下来,我点击magic
,同样AngularJS
告诉我此次活动的时间。
是否有可能在HTML
中实现它?或许 - mkdir %USERPROFILE%\AppData\Roaming\projectfiles2
提供这样的东西吗?
编辑:可能不仅仅是ng-click事件。
答案 0 :(得分:3)
在点击功能中使用Date()函数,如:
Html:
<button ng-click="A()">click me</button>
控制器内部:
$scope.A = function(){
console.log('you click A on ', Date());
}
你得到当前的DateTime。
你可以在任何变量中传递它并与你的html代码绑定,如
$scope.A = function(){
console.log('you click A on ', Date());
$scope.button_A = Date();
}
并在html {{button_A}}
答案 1 :(得分:1)
当然,只需在名为
的函数中使用javascripts日期对象var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (minutes < 10){
minutes = "0" + minutes
}
document.write(hours + ":" + minutes + " ")
if(hours > 11){
document.write("PM")
} else {
document.write("AM")
}
将打印当前时间,也许您想将其保存在变量
中答案 2 :(得分:1)
为什么不拨打function
ng-click directive
,将实际时间存储在variable
的{{1}}中?您可以使用Moment.js来操纵scope
。
JS:
time
HTML:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function($scope) {
$scope.timeA;
$scope.storeTime = function() {
$scope.timeA = moment().format();
};
});
答案 3 :(得分:1)
这样的东西?
JS:
var app = angular.module('myApp', []);
app.controller('MainCtrl', MainCtrl);
function MainCtrl(){
var vm = this;
vm.setTime = setTime;
vm.test = 'time';
function setTime(){
vm.test = new Date();
}
}
HTML
<div ng-app="myApp" ng-controller="MainCtrl as mainCtrl">
{{mainCtrl.test}}
<button ng-click="mainCtrl.setTime();">Button</button>
</div>
http://codepen.io/anon/pen/LVqBYg
问候!