Saltar al contenido

¿Cómo pasar parámetros a un modal?

Después de de esta larga búsqueda de información pudimos resolver este conflicto que presentan ciertos los usuarios. Te regalamos la respuesta y esperamos resultarte de mucha ayuda.

Solución:

Para pasar el parámetro, debe usar resolver e inyectar los elementos en el controlador

$scope.Edit = function (Id) 
   var modalInstance = $modal.open(
      templateUrl: '/app/views/admin/addeditphone.html',
      controller: 'EditCtrl',
      resolve: 
         editId: function () 
           return Id;
         
       
    );

Ahora si vas a usar así:

app.controller('EditarCtrl', ['$scope', '$location'
       , function ($scope, $location, editId)

in this case editId will be undefined. You need to inject it, like this:

app.controller('EditCtrl', ['$scope', '$location', 'editId'
     , function ($scope, $location, editId)

Now it will work smooth, I face the same problem many time, once injected, everything start working!

The other one doesn’t work. According to the docs this is the way you should do it.

angular.module('plunker', ['ui.bootstrap']);  var ModalDemoCtrl = function ($alcance, $modal)  var modalInstance = $modal.open( templateUrl: 'myModalContent.html', controlador: ModalInstanceCtrl, resolve:  test: function ()  return 'test variable';   );  ;  var ModalInstanceCtrl = function ($alcance, $modalInstance, prueba)  $alcance.prueba = prueba;  ;

Ver plunkr

Alternativamente, puede crear un nuevo alcance y pasar a través de parámetros a través de la opción de alcance

var scope = $rootScope.$new();
 scope.params = editId: $scope.editId;
    $modal.open(
        scope: scope,
        templateUrl: 'template.html',
        controller: 'Controller',
    );

En su controlador modal pase $ alcance, entonces no necesita pasar y itemsProvider o lo que sea que haya resuelto que lo haya llamado

modalController = function($scope) 
    console.log($scope.params)

Comentarios y calificaciones

Recuerda algo, que tienes concesión de agregar una reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *