捕获ng-click事件AngularJS的时间 - 是否可能?

时间:2015-08-06 12:04:55

标签: javascript jquery angularjs

我想知道是否有办法捕获AngularJS中的事件时间?

例如:

我有三个按钮ng-clickbutton A指令。我点击some magicbutton B告诉我点击此按钮的时间。接下来,我点击magic,同样AngularJS告诉我此次活动的时间。

是否有可能在HTML中实现它?或许 - mkdir %USERPROFILE%\AppData\Roaming\projectfiles2提供这样的东西吗?

编辑:可能不仅仅是ng-click事件。

4 个答案:

答案 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();
    };
});

请参阅working JSFiddle

答案 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

问候!