Angular如何才能触发子元素事件

Bir*_*egg 2 angularjs

<div ng-click="process1()" id="1">
    <div ng-click="process2()" id="2">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我点击id为2的div时,它将触发process1和process2,我怎样才能触发process2?

Sou*_*dal 5

您可以使用指令.停止事件传播将更加普遍.

HTML

<div ng-click="process1()" id="1">
    <div ng-click="process2()" id="2" stop-event>
    </div>
Run Code Online (Sandbox Code Playgroud)

在控制器中:

$scope.process1 = function(){
    alert(1);
}

$scope.process2 = function(){
    alert(2);
}
Run Code Online (Sandbox Code Playgroud)

并只使用一个指令

.directive('stopEvent', function () {
return {
    restrict: 'A',
    link: function (scope, element, attr) {
        element.bind('click', function (e) {
            e.stopPropagation();
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle:http://jsfiddle.net/6m290Lbt/3/

如果你愿意,你可以使这个解决方案更通用,就像对不同问题的回答:https://stackoverflow.com/a/14547223/347216