Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2014, 20:42
Avatar de nanotime
nanotime
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cd. Guayana
Mensajes: 145
Antigüedad: 13 años
Puntos: 6
Pregunta Errores de lógica en ejercicio simple de Angular

Pues si, tengo un par de errores de lógica con un ejercicio simple que estoy haciendo para aprender un poco de Angular + Coffeescript.

En teoría todo funciona bien, o al menos hace lo que debe hacer, solo que no lo hace como se supone que lo haga

No me voy a alargar mucho, acá les dejo el código comentado

Código Coffeescript:
Ver original
  1. app = angular.module 'todoApp', []
  2.  
  3. app.controller 'TodoCtrl',
  4.   class TodoCtrl
  5.     tareas: [
  6.       texto: 'Aprender Angular'
  7.       hecho: false
  8.     ,
  9.       texto: 'Aprender Jeet'
  10.       hecho: false
  11.     ,
  12.       texto: 'Lo que sea'
  13.       hecho: true
  14.     ]
  15.     #agrega una tarea desde el input, esto si funciona perfecto
  16.     addTarea: ->
  17.       @tareas.push
  18.         texto: @input
  19.         hecho: false
  20.       @input = ''
  21.     # Te dice cuantos elementos restan de la lista de cosas por hacer
  22.     # siempre muestra el total de tareas pendientes sin problemas pero
  23.     # no muestra cuantos quedan por hacer siempre queda igual al número
  24.     # del total del array.
  25.     restantes: ->
  26.       count = 0
  27.       angular.forEach @tareas, (tarea)->
  28.         count += if tarea.done then 0 else 1
  29.       count
  30.     eliminar: ->
  31.       oldTareas = @tareas
  32.       @tareas = []
  33.       for tarea in oldTareas
  34.         unless tarea.hecho
  35.           @tareas.push tarea

Y como lo dice el comentario del codigo, el contador de tareas restantes no funciona, el ejemplo está en que: tengo 5 tareas en total, y tres hechas, debería decirme que quedan dos tareas por hacer, pero siempre queda diciendo "5 de 5" ._.

Sé que el error es mío, pero he visto ejemplos de referencia y he probado otras maneras pero ninguna me da resultados, ando ciego ya y no veo donde estoy poniendo la embarrada