Como Crear una Vista de Editar en AngularJs

publicado por: Anonymous

Como podria hacer que al darle click en el Boton Editar, poder abrir un formulario donde lleno todos los datos para editar la empresa que sale en la tabla??.
En la consulta muestro solo 6 Datos Basicos pero en realidad son mas y quisiera mostrarlos en una ventana y asi editarlos.

introducir la descripción de la imagen aquí

Agradezco colaboracion, soy muy nuevo en esto de angularJs

solución

Buen día. Estoy suponiendo estás usando routing y programando una SPA, así que me basaré en esto para darte una respuesta.

En tu botón editar debes indicar que se cambie de vista, por ejemplo:

<button ng-click="edit(company)">Editar</button>

En tu controlador defines la función edit:

$scope.edit = (company) => {
  $location.path(`editar/${company._id}`);
};

Esto lo que hará es cambiar tu path a algo así: /editar/n4503nc. Se supone debes tener dicha URL mapeada en el router:

$routeProvider
  ...
  .when('/empresas/editar/:id', {
      template: 'editar-empresa.html',
      controller: 'EditCompanyCtrl'
  });

El EditCompanyCtrl recibirá el parámetro id que contiene el ID de la compañía a editar. En el controlador lo que debes hacer es hacer una petición al backend vía AJAX y obtener los datos de la compañía con dicho ID. Una vez obtenidos, solo lo agregas al $scope.

app.controller('EditCompanyCtrl', ($scope, $routeParams) => {
  $.get(`/api/companies/${routeParams.id}`)
    .then((company) => {
      $scope.company = company;
    });
});

Para una modal, no hay mayor misterio. Solo ten la modal bajo el mando del mismo controlador.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *