AngularJS 注入错误 - 未知提供程序:modalMessagesProvider <- modalMessages



我有一个服务,使用组件控制器打开一个角度-ui-bootstrap模式。但是我的控制器无法访问我正在传递的参数(modalMessages,我只想打印它)。错误是:错误: [$injector:unpr] 未知提供程序: modalMessagesProvider <- modalMessages

谁能帮忙?

服务:

angular.module('app').service('AlertService', function ($uibModal) {
    this.showModal = function (modalMessages) {
        return $uibModal.open({
            component: "modalComponent",
            resolve: {
                modalMessages: function () {
                    return modalMessages;
                }
            }
        }).result;
    }
});

组件控制器:

'use strict';
const Modal = {
    templateUrl: 'views/modals/modalAlert.html',
    controller: ['modalMessages', ModalCtrl],
    controllerAs: '$ctrl',
    bindings: {
        modalMessages: "<",
    }
}

angular.module('app').component('modalComponent', Modal);
function ModalCtrl() {
    this.modalMessages = modalMessages;
    console.log(this.modalMessages);
}

看看这个 plunkr

请注意我在以下方面所做的更改:

(function(){
  const Modal = {
    templateUrl: 'modalAlert.html',
    controller:  ModalCtrl,
    bindings: {
      resolve: "<"
    }
};
angular.module('app').component('modalComponent', Modal);
function ModalCtrl() {
  var $ctrl = this;
  $ctrl.$onInit = function() {
    $ctrl.modalMessages = $ctrl.resolve.modalMessages;
  }
}
})()

您需要将resolvebindings一起使用才能访问传递的参数

相关内容

  • 没有找到相关文章

最新更新