【发布时间】:2015-08-12 15:54:42
【问题描述】:
我很难弄清楚这一点。我有一个从承诺数据构建 html 的指令。对于每一行,它都为 CRUD 操作添加按钮。我不知道如何让按钮事件在我的控制器中触发。不管我的控制器是如何设置的,我怎样才能让事件在我的控制器中注册?我目前正在尝试$emit,但似乎没有任何反应。
指令生成的html:
controls = controls+'<button type="button" data-tooltip-placement="bottom" data-tooltip="'+action.name+'" ng-click="$emit(''+action.broadcaster+'','+rowId+')" name="'+action.name+'" class="btn btn-xs btn-default ng-scope"><i class="'+action.icon+'"></i> </button>'
它在 Chrome 工具中的外观:
<button type="button" data-tooltip-placement="bottom" data-tooltip="delete" ng-click="$emit('removeOrgCourse',134)" name="delete" class="btn btn-xs btn-default ng-scope"><i class="fa fa-trash-o"></i> </button>
和我的控制器监听器:
$scope.$on('removeOrgCourse', function( event, data ){
console.log(data);
});
更新:
只是将 ng-click 更改为 console.log("click") 并没有发生任何事情。所以问题是 ng-click 没有注册;
【问题讨论】:
标签: javascript angularjs dom-events