一尘不染

如何使用AngularJS将对象推入数组

angularjs

我正在尝试使用角度推功能,但是它不起作用。

我想将字符串(或对象)添加到数组中。

我在此处的Stack Overflow中搜索了基本示例,但找不到。

谁能纠正我的代码或写一个非常基本的示例?

这是我的例子。

这是HTML代码:

<form ng-controller="TestController as testCtrl ng-submit="testCtrl.addText(myText)">
    <input type="text" value="Lets go">
    <button type="button">Add</button>
</form>

这是Java脚本代码:

(function() {
    var app = angular.module('test', []);

    app.controller('TestController', function() {
        this.arrayText = {
            text1: 'Hello',
            text2: 'world',
        }

        this.addText = function(text) {
            arrayText.push(this.text);
        }
    });
})();

阅读 502

收藏
2020-07-04

共1个答案

一尘不染

推送仅对array有效。

使您的arrayText对象成为数组对象。

像这样尝试

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>
2020-07-04