我试图编写我的第一个服务,我想为弹出窗口创建服务。但我传递控制器有问题。这是:
'use strict';
class bobVotingPopupController {
constructor($scope, $element) {
console.debug(123);
}
}
bobVotingPopupController.$inject = ['$scope', '$element'];
export default angular
.module('bob.voting.popup.controller', [])
.controller('bobVotingPopupController', bobVotingPopupController);
我正在调用我的服务并通过require和filename传递控制器:
modalService.open({
template: 'modal.bob.voting.html',
controller: require('./bob.voting.popup.controller')
});
之后我想渲染我的弹出窗口并添加我的控制器:
scope.popupTemplate = angular.element(require(`./views/${params.template}`));
scope.popupController = params.controller;
element.find('.popup__body').append(scope.popupTemplate);
$compile(scope.popupTemplate)(scope);
$controller(scope.popupController.controller, {$scope: scope.popupController.$scope}, {});
在最后一行,我收到错误:
Unknown provider: recipeNameProvider <- recipeName
我发现提供者仅作为我的控制器的参数:
controller:(recipeName, factoryFunction)
我该怎么做?