How to push object into an array using AngularJS How to push object into an array using AngularJS angularjs angularjs

How to push object into an array using AngularJS


Push only work for array .

Make your arrayText object to Array Object.

Try Like this

JS

this.arrayText = [{  text1: 'Hello',  text2: 'world',}];this.addText = function(text) {  this.arrayText.push(text);}this.form = {  text1: '',  text2: ''};

HTML

<div ng-controller="TestController as testCtrl">  <form ng-submit="addText(form)">    <input type="text" ng-model="form.text1" value="Lets go">    <input type="text" ng-model="form.text2" value="Lets go again">    <input type="submit" value="add">  </form></div>


Please check this - http://plnkr.co/edit/5Sx4k8tbWaO1qsdMEWYI?p=preview

Controller-

var app= angular.module('app', []);app.controller('TestController', function($scope) {    this.arrayText = [{text:'Hello',},{text: 'world'}];    this.addText = function(text) {      if(text) {        var obj = {          text: text        };          this.arrayText.push(obj);          this.myText = '';          console.log(this.arrayText);        }      }  });

HTML

<form ng-controller="TestController as testCtrl" ng-submit="testCtrl.addText(testCtrl.myText)">        <input type="text" ng-model="testCtrl.myText" value="Lets go">        <button type="submit">Add</button>        <div ng-repeat="item in testCtrl.arrayText">            <span>{{item}}</span>        </div></form>


'Push' is for arrays.

You can do something like this:

app.js:

(function() {var app = angular.module('myApp', []); app.controller('myController', ['$scope', function($scope) {    $scope.myText = "Let's go";    $scope.arrayText = [            'Hello',            'world'        ];    $scope.addText = function() {        $scope.arrayText.push(this.myText);    } }]);})();

index.html

<!doctype html><html ng-app="myApp">  <head>    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>    <script src="app.js"></script>  </head>  <body>    <div>      <form ng-controller="myController" ng-submit="addText()">           <input type="text" ng-model="myText" value="Lets go">           <input type="submit" id="submit"/>           <pre>list={{arrayText}}</pre>      </form>    </div>  </body></html>