Добавить несколько данных в объект - PullRequest
0 голосов
/ 29 ноября 2018

Ребята, это код службы, но я сомневаюсь в этом в java-скрипте, я пытаюсь отобразить данные в marquee

<div>
<marquee><b ng-repeat='val in data.arr'><label>{{val.display_field}}</label></b></marquee>
</div>

при получении массива со стороны сервера.

(function() {
    data.arr = [];
    var record={};
    var display_value='';
    var announce=new GlideRecord('announcement');
    announce.addQuery('active=true');
    announce.query();
    while(announce.next()){
        display_value = announce.getValue('name') ;
        record.display_field=display_value; 
    }
    data.arr.push(record);

})();

Я получу более одного значения в announce.getValue('name'), например test,test1,test2... Я хочу сохранить эти значения в виде отдельных объектов в массиве,

[
    {
    display_field:test
    },
    {
    display_field:test1
    }
]

мой плохой, выделенный шрифт отображает толькоокончательное значение, т.е. test2 .объект, переопределяющий предыдущие значения.как я могу получить все значения в массиве?

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Получено решение !!

Мы должны очистить record объект и display_value каждый раз, тогда будет создан только новый объект.

(function () {data.arr = [];

var announce=new GlideRecord('announcement');
announce.addQuery('active=true');
announce.query();
while(announce.next()){
    var record={};
    var display_value='';
    display_value = announce.getValue('name') ;
    record.display_field=display_value; 
}
data.arr.push(record);

}) ();

0 голосов
/ 29 ноября 2018

Ваш код отлично работает в этом plunker .Также, пожалуйста, проверьте код ниже для динамического объявления, которое будет добавлено нажатием кнопки.

Контроллер:

  $scope.data = {
    arr: [{
      display_field: 'test'
    },{
      display_field: 'test1'
    }]
  };
  $scope.getMoreAnnouncment = function(){
    var newAnnoucement = {
      display_field: 'test' + ($scope.data.arr.length + 1)
    }
    $scope.data.arr.push(newAnnoucement);
  }

Шаблон:

   <marquee>
      <div>
         <b ng-repeat='val in data.arr'>
           <label>{{val.display_field}}</label>
         </b>
      </div>
   </marquee>
   <button ng-click="getMoreAnnouncment()">Add one More</button>
...