我尝试将event
发送到工厂,如:
HTML
ng-click="deleteUser(event, <?=$val->subscribetouserId?>);"
Angular JS
$scope.deleteUser = function(event, idUser){
userFactory.delete(idUser, event);
}
因此,我可以看到userFactory
点击
event
在方法delete
中,我写道:
angular.element(event.target).closest('.item').remove();
它给了我错误:
无法阅读财产&#39;目标&#39;未定义的
答案 0 :(得分:3)
使用ngClick指令时,它会在当前作用域上创建一个名为$ event的对象。
你可以像这样发送给控制器:
ng-click="deleteUser($event, ...)"
我想提请你注意的另一件事是你应该避免从控制器/工厂改变DOM。如果您有一组用户,那么您应该使用ngRepeat来呈现它。在deleteUser函数中删除用户时,还应该从用于填充ngRepeat指令的数组中删除它。这样,angular将从DOM中删除该项,您不必自己删除它。