我正在尝试通过一个服务来展示一个“通用”的模态框 - 使用 Angular 的 $uibModal。以下是该服务的定义:
angular.module('app').service('CustomModalService', ['$uibModal', function ($uibModal) {
var openCustomModal = function (size, title, message) {
var actionToPerformOnConfirm = action;
var modalInstance = $uibModal.open({
templateUrl : 'templates/CustomModal.html',
size: size,
resolve: {
title: title,
message: message
}
});
};
return {
openCustomModal: openCustomModal
};
}]);
以上并没有太复杂的东西。然而,它却无法正常工作。如果我从对象中删除resolve
属性,则该服务可以工作;但是,如果我包括resolve
属性,我会收到来自该属性的未知提供者错误。
resolve
属性的文档如下:
(类型:对象) - 将被解决并传递给控制器作为本地值的成员;它相当于路由器中的解析属性。
目标是能够为模态框提供一个模板,该模板利用其DOM中的这些属性,例如:
<div ng-controller="CustomModalController">
<div class="modal-header">
<h3 class="modal-title">{{title}}</h3>
</div>
<div class="modal-body">
{{message}}
</div>
<div class="modal-footer">
<button class="ad-button ad-blue" type="button" ng-click="confirmAction()"></button>
<button class="ad-button ad-blue" type="button" ng-click="cancelAction()"></button>
</div>
</div>
我错过了什么导致这个错误被抛出?
resolve
属性的情况下工作的。 - Thomascontroller: 'MyController'
),我的控制器也会抛出相同的错误。 - Thomas