У меня есть модал, который я хочу преобразовать на странице с формой. js для модального режима в основном таков (особенно обеспокоен разрешением):
// BEFORE
angular.module('mda')
.service('visualizationModalService', ['$rootScope', 'nsjRouting', 'moment', 'toaster', '$uibModal', '$q', '$injector', '$filter',
function ($rootScope, nsjRouting, moment, toaster, $uibModal, $q, $injector, $filter) {
// LOTS OF CODE 1
var fillProperties = function (specialEntity, scope) {
// important stuff
}
var selfService = {
open: function (solicitation, scope) {
return $uibModal.open({
template: require('html-loader!./visualization.modal.html'),
controller: ['entity', '$uibModalInstance', '$injector', 'toaster', '$scope', '$rootScope', function (entity, $uibModalInstance, $injector, toaster, $scope, $rootScope) {
// LOTS OF CODE 2
}],
controllerAs: "$ctrl",
resolve: {
entity: function () {
entity = angular.copy(solicitation);
return fillProperties(specialEntity, scope);
}
}
});
}
};
return selfService;
}]);
После перестановки некоторых вещей я разделил вышеперечисленное следующим образом:
// AFTER
angular.module('mda')
.service('visualizationService', ['$rootScope', 'nsjRouting', 'moment', 'toaster', '$uibModal', '$q', '$injector', '$filter',
function ($rootScope, nsjRouting, moment, toaster, $uibModal, $q, $injector, $filter) {
// LOTS OF CODE 1
var fillProperties = function (specialEntity, $scope) {
// important stuff
}
}])
angular.module('mda')
.controller('visualizationFormShowController', [
'$scope', '$stateParams', '$state', 'entity', 'toaster', '$injector', 'visualizationService', function (
$scope, $stateParams, $state, entityService, entity, toaster, $injector, visualizationService) {
// LOTS OF CODE 2
}]);
Проблема в том, что в моем новом расположении функция fillProperties никогда не вызывается.
С модальным оно было записано в контроллере и вызвано в разрешении.
Я пробовал много способов, но не смог выполнить разрешение или вызвать функцию в новом контроллере .
Есть предложения, как мне это сделать?
Кстати, маршрут определяется следующим образом:
$stateProvider
.state('visualization_show', {
url: "/visualizations?/:visualization/",
resolve: resolve,
template: require('html-loader!./show.html'),
controller: 'visualizationFormShowController',
controllerAs: 'vslztns_frm_shw_cntrllr',
})
Я пытался выполнить вызов функции в этом разрешении, но получил ошибку неопределенной функции и переменных ...