我想创建一个conformation对话框,在将数据发送到数据库之前要符合要求,但是获取此TypeError: onOk is not a function
,onOk()定义为 ConfirmService ,请检查它。
app.directive('confirmDialog', function(ConfirmService) {
return {
restrict: 'A',
scope: {
eventHandler: '&ngClick'
},
link: function(scope, element, attrs){
element.unbind("click");
element.bind("click", function(e) {
ConfirmService.open(attrs.confirm, scope.eventHandler, 'confirm_dialog');
});
}
}
});
app.service('ConfirmService', function($modal) {
var service = {};
service.open = function (text, onOk, dialog_type) {
var modalInstance = $modal.open({
templateUrl: 'templates/dialog.html',
controller: 'ConfirmCtrl',
resolve: {
text: function () {
return text;
}
}
});
modalInstance.result.then(function (selectedItem) {
onOk();
}, function () {
});
};
return service;
})
app.controller('ConfirmCtrl', function ($scope, $modalInstance, text) {
$scope.text = text;
$scope.ok = function () {
$modalInstance.close(true);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
});
答案 0 :(得分:0)
你还没有展示出你如何使用你的指令,但我有很多疑问,这将是有效的,因为ngClick是一个指令,而不是一个函数,而你似乎正在传递{您服务中的{1}}参数。
onOk