AngularJS $超时服务

斯特凡

我必须在3-4秒内看到一些东西。我正在尝试使用$ timeout实现这一点。这是到目前为止我得到的:

$timeout(function() {
  debugger;
  $scope.$on(broadcastService.topErrorBar.show,
  function(event, message) {
    $scope.rootElement.addClass('is-visible');
    $scope.isVisible = true;
    $scope.message = message;
  });
}, 3000);

$timeout.cancel(function() {
    $scope.close();
});

$scope.close = function() {
  $scope.rootElement.removeClass('is-visible');
  $scope.isVisible = false;
};

这不起作用,我无法解决该问题。我究竟做错了什么?在这种情况下,我应该使用超时时间吗?

姆克赫达瓦

应该是这样的:

$scope.$on(broadcastService.topErrorBar.show,
  function(event, message) {
    $scope.rootElement.addClass('is-visible');
    $scope.isVisible = true;
    $scope.message = message;
    $timeout(function() {
    $scope.close();
}, 3000);

$scope.close = function() {
  $scope.rootElement.removeClass('is-visible');
  $scope.isVisible = false;
};

在Broadcast上,使element可见,开始超时,以便在3秒钟后调用$ scope.close。在您的情况下,无需$ timeout.cancel。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章