Javascript 如何在指令中使用$emit
这是我的控制器:Javascript 如何在指令中使用$emit,javascript,angularjs-directive,dom-events,Javascript,Angularjs Directive,Dom Events,这是我的控制器: scope.Delete = function (index, selecteditemslist) { scope.selectedIndex = index; scope.$emit('removeOrg', { index: index }); scope.$emit('removeRecipient', { index: index, type: 'orgs', sel
scope.Delete = function (index, selecteditemslist) {
scope.selectedIndex = index;
scope.$emit('removeOrg', {
index: index
});
scope.$emit('removeRecipient', {
index: index,
type: 'orgs',
selecteditemslist: selecteditemslist
});
scope.$emit('removeRecipient', {
index: index,
type: 'people',
selecteditemslist: selecteditemslist
});
};
如何解决这个问题?当我单击某个项目时,该特定项目只应被删除。请帮我解决这个问题。如何调用
Delete
。。。您能检查一下Delete
是否调用了3次Delete调用了一次,但在Delete中,所有三个$emit都触发了,我如何限制调用removeCipient
的次数
scope.Delete = function (index, selecteditemslist) {
scope.selectedIndex = index;
scope.$emit('removeOrg', {
index: index
});
scope.$emit('removeRecipient', {
index: index,
type: 'orgs',
selecteditemslist: selecteditemslist
});
scope.$emit('removeRecipient', {
index: index,
type: 'people',
selecteditemslist: selecteditemslist
});
};
$scope.$on('removeRecipient', function (event, args) {
$scope.index = args.index;
$scope.selecteditemslist = args.selecteditemslist;
console.info($scope.index);
console.info($scope.selecteditemslist);
$scope.type = args.type;
switch ($scope.type) {
case "orgs":
$scope.RemoveRolesDetach('detachOrg', $scope.selecteditemslist);
$scope.recipientsOrg.splice($scope.index, 1);
$scope.displayOrgs.splice($scope.index, 1);
$scope.recipientsOrgIdArr.splice($scope.index, 1);
break;
case "people":
$scope.RemoveRolesDetach('detachUser', $scope.selecteditemslist);
$scope.recipientsPeople.splice($scope.index, 1);
$scope.displayPeople.splice($scope.index, 1);
$scope.recipientsPeopleIdArr.splice($scope.index, 1);
break;
}
});