【问题标题】:How to create array of objects in angularJS如何在angularJS中创建对象数组
【发布时间】:2018-08-22 14:21:50
【问题描述】:

我有几个输入字段,如“标题”、“名字”、“姓氏”和“日期”,我将其数据存储在一个对象中,但我想为这些数据创建一个对象数组,这样每次我点击提交按钮 一个新对象应该被推入数组。

<!DOCTYPE html>
<html lang="en" ng-app="myApp">

<head>
    <meta charset="UTF-8">
    <title>Angular Basic</title>
    <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.8/angular-material.min.css">
</head>

<body ng-controller="myCtrl">
    <form>
        <md-input-container>
            <label>Title</label>
            <input ng-model="user.title">
        </md-input-container>
        <md-input-container>
            <label>First Name</label>
            <input ng-model="user.first_name">
        </md-input-container>
        <md-input-container>
            <label>Last Name</label>
            <input ng-model="user.last_name">
        </md-input-container>
        <md-input-container>
            <label>Enter date</label>
            <md-datepicker ng-model="user.submissionDate"></md-datepicker>
        </md-input-container>
        <md-button class="md-raised md-warn" ng-click="saveData()">Submit</md-button>
    </form>

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-animate.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-aria.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.8/angular-material.min.js"></script>
    <script src="app.js"></script>
</body>

</html>

JS 文件:

var app = angular.module('myApp', ['ngMaterial']).controller('myCtrl', function ($scope) {
    $scope.user = {}
    var userArr = [];

    $scope.saveData = function () {
        console.log("user", $scope.user)
        userArr.push(user);
        console.log(userArr);
    }
})

【问题讨论】:

  • userArr.push($scope.user); 你应该这样做...
  • @McRist 谢谢.. 成功了。

标签: javascript angularjs


【解决方案1】:

您错过了来自用户的$scope

 var app = angular.module('myApp', ['ngMaterial']).controller('myCtrl', 
    function ($scope) {
        $scope.user = {}
        var userArr = [];

        $scope.saveData = function () {
            console.log("user", $scope.user)
            userArr.push($scope.user)
            console.log(userArr);
        }
    })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 2013-12-09
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多