Попытка сделать открытие модального окна в контроллере, используя app.factory.modularjs модальная инициализация с использованием фабрики
Получение странной ошибки и непонятно, в чем проблема. Таким образом, это ошибка я попал в Js консоли:
Error: [$injector:unpr] http://errors.angularjs.org/1.3.15/$injector/unpr?p0=modalServiceProvider%20%3C-%20modalService%20%3C-%20MapController
Вот мои файлы и структура:
Главный контроллер:
app.controller('MainController', ['$scope', 'modalService', function($scope, modalService){
///Modal: Add item
//////////////////
console.log('dfdfdf');
$scope.AddItem = modalService.openAddItemDialog($scope);
}]);
открыть его на простом HTML :
<div ng-controller="MainController">
<button type="button" class="btn btn-block" ng-click="AddItem()"> </button>
</div>
Фабрика:
app.factory('modalService', ['$modal', function($modal) {
function openAddItemDialog($scope) {
console.log('dfdfdf');
$scope.animationsEnabled = true;
$scope.valueToPass = "I must be passed";
var modalInstance = $modal.open({
animation: $scope.animationsEnabled,
templateUrl: 'AddItemDialog.html',
controller: 'AddItemController',
resolve: {
aValue: function() {
return $scope.valueToPass;
}
}
});
modalInstance.result.then(function (paramFromDialog) {
$scope.paramFromDialog = paramFromDialog;
});
}
return {
openAddItemDialog: openAddItemDialog
};
}]);
модальный контроллер:
app.controller('AddItemController',function($scope, $modalInstance, aValue) {
$scope.valuePassed = aValue;
$scope.close = function() {
$modalInstance.close("Someone Closed Me");
};
});
HTML шаблон:
<div class="modal-header">
<h2>The title</h2>
</div>
<div class="modal-body">
The body of the dialog with the value to pass '{{valuePassed}}'
</div>
<div class="modal-footer">
<button class="btn" ng-click="close()">Close</button>
</div>
я даже не вижу первый результат console.log('dfdfdf');
Func. поэтому он каким-то образом нарушил работу главного контроллера .. но слепой, не может, в чем проблема? для меня, похоже, все должно работать.
** приложение определяется в отдельном файле, как var app = angular.module('MainPage', ['ui.bootstrap']);
да, я проверил много раз сейчас ... все, кажется, в порядке. Вот почему спрашивать здесь. Может быть, есть что-то особенное в передаче '$ modal' на завод? – user1935987