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

时间:2014-11-20 00:36:04

标签: angularjs

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

HTML:

<button ng-click-emit="foo" ng-click-emit-model="model.bar">Emit foo</button>

儿童控制器:

$scope.model = {bar: 'baz'};

家长控制器:

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

1 个答案:

答案 0 :(得分:13)

我明白了:只需直接从$emit调用范围&#39; ng-click函数即可。所以我的例子中的HTML将成为:

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

同样适用于$broadcast