Создайте массив json и добавляйте к нему объекты по нажатию кнопки в angularjs. - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть форма с полем datetime и полем состояния (вкл / выкл), я объединила их в один объект json {"time":"2002-03-01T03:01:00.000Z","status":"off"} Кнопка добавления по клику Мне нужно добавить этот объект в массив JSON результат должен быть таким:

[{"time":"2002-03-01T03:01:00.000Z","status":"off"},
{"time":"2002-03-01T03:01:00.000Z","status":"on"},
{"time":"2002-03-01T03:01:00.000Z","status":"off"},
{"time":"2002-03-01T03:01:00.000Z","status":"on"}]

добавление объекта в массив при каждом нажатии кнопки

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Вы могли бы сделать что-то вроде этого

<input type="text" ng-model="$scope.jsonStyleObject"> 

<button ng-model="$scope.jsonStyleObject"ng-click="addItemFunction($scope.jsonStyleObject)">Add to array of 
objects</button>

используя ng-click в представлении, вы можете вызывать функцию в вашем контроллере (мой предпочтительный метод - использовать 'vm.', Однако '$ scope' также должен работать).

0 голосов
/ 05 сентября 2018

Вам не очень понятно, как вы хотите, чтобы он выглядел, но вам просто нужно array.push(object) где-то в вашем контроллере, который можно вызвать с ng-click на какую-то кнопку.

Вот демоверсия:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.array = [{
      "time": "2002-03-01T03:01:00.000Z",
      "status": "off"
    },
    {
      "time": "2002-03-01T03:01:00.000Z",
      "status": "on"
    },
    {
      "time": "2002-03-01T03:01:00.000Z",
      "status": "off"
    },
    {
      "time": "2002-03-01T03:01:00.000Z",
      "status": "on"
    }
  ];

  $scope.add = function(object) {
    $scope.array.push(object);
    $scope.st = null; // reset
  }
});
<!DOCTYPE html>



  

    Time: 
Status:
Time: {{obj.time | date}}, status: {{obj.status}}

{{array | json}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...