찾다

 >  Q&A  >  본문

angular.js - angularjs如何同时监听两个以上的事件?

业务场景描述:

假设在子controller中,用户各种点击操作会被分成两个事件,被控制器广播到父控制器中

$scope.$emit('ngUserLogin');
$scope.$emit('ngUserUpdate');

在父控制器中,我们使用$on监听这两个事件没错,

$scope.$on('ngUserlogin', function(){"}
$scope.$on('ngUserUpload', function(){"}

但是在某个场景中,我发现这两个事件的执行的是相同的逻辑,所以我想这样写:

$scope.$on(['ngUserlogin','ngUserUpload'], function(){"}

这是我期望的模式,但是ng很明显是不能这么写的,想问问各位大侠在自己的实际业务中如何做到同时监听两个以上的事件

PHPzPHPz2744일 전543

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-05-15 17:05:07

    ng 예상한 모드가 없어서 안타깝습니다. 약간의 트릭을 만들려면 다음과 같이 작성할 수 있습니다.

    으아악

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 17:05:07

    생각을 바꿀 수 있습니다. 이벤트를 하나만 보내면 이 이벤트를 보낼 때 다른 매개변수를 가져올 수 있습니다.$emit(name, args); 이 이벤트를 듣고 매개변수를 판단하면 다음에 무엇을 하고 싶은지 알 수 있습니다.

    회신하다
    0
  • 취소회신하다