How do I put a while within an angular object?

0

I need all the rows listed in the while to be listed inside the object, however, only the last row of the array in the object is appearing to me.

	$scope.eventos=data;

                  var contar = 0;

                  while (contar < 2){

                    var eventos = data[contar];
                    var titulo = eventos.titulo;
                      var titulo = [{titulo}];
                      console.log(titulo); // aqui ele lista todas as linhas do array
                      contar++

                      }


                        console.log(titulo);

                $scope.ano = 2016;


                  $scope.dataSet = [
                          {name:"Janeiro", ano:$scope.ano,
                           evento:    titulo, //aqui ele só mostra a ultima linha do array


                           index:0
                          },
                          {name:"Fervereiro",index:1},
                          {name:"Março",index:2},
                          {name:"Abril",index:3},
                          {name:"Maio",index:4},
                          {name:"Junho",index:5},
                          {name:"Julho",index:6},
                          {name:"Agosto",index:7},
                          {name:"Setembro",index:8},
                          {name:"Outubro",index:9},
                          {name:"Novembro",index:10},
                          {name:"Dezembro",index:11}
                      ],
                      $scope.current = $scope.dataSet[0],
                      $scope.next = function(){

                          var i = $scope.getIndex($scope.current.index, 1);
                          $scope.current = $scope.dataSet[i];

                      },
                      $scope.previous = function(){
                          var i = $scope.getIndex($scope.current.index, -1);
                          $scope.current = $scope.dataSet[i];
                      },
                      $scope.getIndex = function(currentIndex, shift){
                          var len = $scope.dataSet.length;
                          return (((currentIndex + shift) + len) % len)
                      }
    
asked by anonymous 31.08.2016 / 23:38

1 answer

1

Your mistake is to give each loop a new value to the variable title.

 var titulo = [{titulo}];

The only thing this code does is to make the variable an item in a list, but this list is zeroed every time that line is executed.

If you want to insert items into a same list, you can use the push () function.

             var titulosList = [];
             while (contar < 2){

                var eventos = data[contar];
                var titulo = eventos.titulo;
                titulosList.push(titulo);

                console.log(titulo); // Mostra no console o título a cada laço
                contar++;

             }

             console.log(titulosList); // Mostra no console sua lista de títulos
    
01.09.2016 / 01:33