$单击元素时发出一个事件

z0r*_*z0r 8 angularjs

是否有内置指令,如ng-click发出事件而不是调用函数?我想做这样的事情:

HTML:

<button ng-click-emit="foo" ng-click-emit-model="model.bar">Emit foo</button>
Run Code Online (Sandbox Code Playgroud)

儿童控制器:

$scope.model = {bar: 'baz'};
Run Code Online (Sandbox Code Playgroud)

家长控制器:

$scope.$on('foo', function(event, arg) {
    console.log(arg); // prints 'baz'
});
Run Code Online (Sandbox Code Playgroud)

z0r*_*z0r 13

我想通了:直接调用范围的$emit功能ng-click.所以我的例子中的HTML将成为:

<button ng-click="$emit('foo', model.bar)">Emit foo</button>
Run Code Online (Sandbox Code Playgroud)

同样也应该有效$broadcast.