这就是我CRUDManager class
在 Angular 控制器中初始化时所做的,后来传递给控制器外部定义的 jQuery 按钮单击事件:
在角度控制器中:
// Note that I can even pass over the $scope to my CRUDManager's constructor.
var crudManager = new CRUDManager($scope, contextData, opMode);
crudManager.initialize()
.then(() => {
crudManager.dataBind();
$scope.crudManager = crudManager;
$scope.$apply();
})
.catch(error => {
alert(error);
});
在控制器外部的 jQuery Save 按钮单击事件中:
$(document).on("click", "#ElementWithNgControllerDefined #btnSave", function () {
var ngScope = angular.element($("#ElementWithNgControllerDefined")).scope();
var crudManager = ngScope.crudManager;
crudManager.saveData()
.then(finalData => {
alert("Successfully saved!");
})
.catch(error => {
alert("Failed to save.");
});
});
当您的 jQuery 事件需要放置在控制器之外以防止它触发两次时,这尤其重要和有用。