您好,我创建了一个通用的自定义指令,用于所有屏幕中的删除功能,因此在删除元素后,我需要调用 Controller 函数来更新 View 。 Controller 根据 View 而不同。
angular.module('app.comon').directive('deletePopup', function modal(setterGetterService,restCallService) {
return {
template:'<div class="modal" id="delete-popup">' +
'<div class="modal-dialog">' +
'<div class="modal-content">' +
'<p>Are you sure want to delete ?</p>' +
'<div class="buttons-group text-center">' +
'<a ng-click="deleteList();" class="btn">delete</a> ' +
'<a ng-click="cancelAction()" class="btn btn-cancel">cancel</a> ' +
'</div>' +
'</div>' +
'</div>' +
'</div>',
link: function (scope, element, attrs) {
scope.cancelAction = function () {
$('#delete-popup').hide();
}
var dropper;
scope.$on("DELETE_LIST", function(event, item){
dropper = item;
});
scope.deleteList = function () {
var deleteInfo =setterGetterService.getDeletePopupInfo();
var headers =deleteInfo.headers;
var params = {
"URL" :deleteInfo.restCall ,
"METHOD" : deleteInfo.method,
}
restCallService.getResponse( headers, params)
.then(function(data) {
if (data.status == "success") {
alert("groupDeleted");
$('#delete-popup').hide();
} else {
alert(data.msg);
}
});
}
}
}
});
最佳答案
您所问的问题不是与其他 Controller 交谈的正确方式。 您实际上应该做的事情就像发出一个事件一样简单,该事件将通知另一个 Controller 需要执行某些操作的情况。
关于javascript - 如何从 Angular 1中的自定义指令调用任何 Controller 函数( Controller 可能是动态的)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051165/