Que tal, vengo pidiendo su ayuda estoy iniciando a programar en AngularJS y por más que le he buscado al error no doy con el y que mejor venir a este foro. Estoy utilizando Angular en la versión 1.5.5 y lo que estoy haciendo es agregar un campo nuevo a una tabla con UI-GRID.
Este es miembros.js
Código Javascript
:
Ver originalangular.module('prototipoApp')
.controller('MiembrosCtrl', function($scope, $modal) {
$scope.myData = [{no: 1, nombre: "Sergio",fidelidad:3, fechaUnion:"03/10/2016", tipoMiembro:"Premium"},
{no: 2, nombre: "nombre5",fidelidad:5, fechaUnion:"02/11/2016", tipoMiembro:"Free"},
{no: 3, nombre: "nombre4",fidelidad:7, fechaUnion:"08/05/2016", tipoMiembro:"Platinium"},
{no: 4, nombre: "nombre3",fidelidad:9, fechaUnion:"01/09/2016", tipoMiembro:"Free"},
{no: 5, nombre: "nombre2",fidelidad:11, fechaUnion:"04/04/2016", tipoMiembro:"Premium"},
{no: 6, nombre: "nombre1",fidelidad:13, fechaUnion:"3/10/2016", tipoMiembro:"Platinium"}];
$scope.gridOptions = {
data: 'myData',
showGroupPanel: true,
enableCellSelection: true,
enableRowSelection: true,
enableCellEdit: true,
enableSorting: true,
enableFullRowSelection: true,
multiSelect: true,
enableRowHeaderSelection: false,
enableColumnMenus: false,
enableFiltering: true,
minRowsToShow: $scope.myData.length+1,
columnDefs:[
{field:'no', displayName:'N°.'},
{field:'nombre', displayName:'Nombre'},
{field:'fidelidad', displayName:'Puntos Fidelidad'},
{field:'fechaUnion', displayName:'Fecha de Union'},
{field:'tipoMiembro', displayName:'Tipo de Miembro'}]
};
$scope.gridOptions.data = $scope.myData;
//Abrir ventana para guardar dato-miembro
$scope.showModal=function(){
$scope.nuevoMiembro={};
var modalInstance=$modal.open({
templateUrl: 'views/add-miembros.html',
controller:'AddNuevoMiembroCtrl',
resolve:{
nuevoMiembro:function(){
return $scope.nuevoMiembro;
}
}
});
modalInstance.result.then(function(selectedItem){
$scope,miembros.push({
no: $scope.miembros.length+1,
nombre: $scope.nuevoMiembro.nombre,
tipoMiembro: $scope.nuevoMiembro.tipoMiembro,
fidelidad: $scope.nuevoMiembro.fidelidad,
fechaUnion: $scope.nuevoMiembro.fechaUnion
});
});
};
})
.controller('AddNuevoMiembroCtrl', function($scope,$modalInstance, nuevoMiembro){
$scope.nuevoMiembro=nuevoMiembro;
$scope.salvarNuevoMiembro=function(){
$modalInstance.close(nuevoMiembro);
};
$scope.cancel=function(){
$modalInstance.dismiss('cancel'); //Cerar la ventana
};
});
Esta es la venta que abre el formulario:
Código HTML:
Ver original<div class="modal-header"> <button type="button" class="close" ng-click="cancel()" data-dismiss="modal" aria-hidden="true">×</button> <h1>Añadir un Miembro
</h1>
<label>Tipo Miembro
</label><input type="text" ng-model="nuevoMiembro.tipoMiembro"> <label>Puntos Fidelidad
</label><input type="number" ng-model="nuevoMiembro.fidelidad"> <label>Fecha de Union
</label><input type="date" ng-model="nuevoMiembro.fechaUnion"> <button class="btn btn-success" ng-click="salvarNuevoMiembro()">Guardar Miembro
</button>
El error que me sale es el siguiente:
angular.js:13550 ReferenceError: miembros is not defined
at miembros.js:75
at processQueue (angular.js:15961)
at angular.js:15977
at Scope.$eval (angular.js:17229)
at Scope.$digest (angular.js:17045)
at Scope.$apply (angular.js:17337)
at HTMLButtonElement.<anonymous> (angular.js:25023)
at HTMLButtonElement.jQuery.event.dispatch (jquery.js:4737)
at HTMLButtonElement.elemData.handle (jquery.js:4549)
El error dice que Miembros no esta definido, esto sucede cuando le doy clic al boton de guardar. Ya he ido linea por linea pero al parecer yo lo veo bien. Les agradezco su tiempo.