jquery angularjs modal-dialog bootstrap-modal ui.bootstrap

jquery - modal angular no cerrado($ uibModal)



angularjs modal-dialog (2)

angular .module(''angProj'') .controller(''UserCtrl'', [''$scope'', ''$uibModal'', function ($scope, $uibModal) { $scope.results = function (content, completed) { var modalInstance = $uibModal.open({ backdrop: ''static'', keyboard: false, animation: $scope.animationsEnabled, templateUrl: ''/Scripts/angularApp/views/user-modal.html'', controller: ''UserModalCtrl'', resolve: { items: function () { return $scope.items; } } }); if (!completed || content.length === 0) { return; } modalInstance.close(); modalInstance.dismiss(''cancel'');

No puedo cerrar el modelo cuando el usuario agrega la finalización. En user-modal, estoy mostrando la barra de progreso. El código funciona bien sin errores, pero el modal permanece abierto. También probé $ uibModalInstance pero el controlador arroja un error: proveedor desconocido (no se puede inyectar $ uibModalInstance en el mismo UserCtrl) Estoy inyectando ui.bootstrap (ui-bootstrap-tpls-1.1.2.js)

Gracias por tu tiempo.


He hecho algo similar, creo.

Tengo un controlador $modal que se parece a esto

angular.module(''myApp'').controller(''infoCtrl'', function ($scope, $uibModalInstance, loading) { $scope.editable = loading; $scope.$watch(''editable.status'', function(newValue, oldValue) { if (newValue == ''success''){ // close modal $uibModalInstance.close(''ok''); } else if (newValue == ''error'') { // show error message } }); });

La loading inyectada es un servicio que se ve así

myApp.factory(''loading'', function() { return { status: '''' } });

Y cuando cambio el estado de mi servicio de carga a ''éxito'' (desde cualquier lugar, no desde el controlador modal), el modal se cierra.

No sé si esto es exactamente lo que estaba pidiendo, pero espero que ayude, también, solo pregunte si algo no está claro.

EDITAR: Entonces digamos que tiene un servicio con un valor isCompleted: false , isCompleted: false ese servicio en su controlador modal, y use la función $watch , luego cuando eso se isCompleted se cambie a true , cierre el modal.


Use modalInstance.close() dentro de su controlador UserModalCtrl

app.controller(''UserModalCtrl'', [''$scope'', ''$modalInstance'' function($scope ,modalInstance { $scope.close = function () { modalInstance.close(); }; }]);