将范围值加载到数组中在 angularjs 中不起作用

loading scope value into an array doesnt work in angularjs

Please consider the small angularJs code snippet below.

$scope.myArray = [];
function sampleMethod(){
    $scope.myArray.push({
        name: $scope.name,
        age: $scope.age
    });
    console.log($scope.myArray.name);
};

在这里,我试图获取范围值名称和年龄并将其加载到控制器内的范围数组中。但是上面的程序什么都不打印。我们不能从控制器访问范围值并将其提供给数组吗?如果不可能,我怎样才能正确地做到这一点?

您的 $scope.myArray 是数组,不是对象。

这样做,$scope.myArray[0].name 它应该有效。

这样试试:

var app = angular.module('app', []);
app.controller('MainController', function($scope) {
    $scope.name = 'Cuco Pérez';
    $scope.age = 37;
    $scope.myArray = [];

    (function sampleMethod() {
        $scope.myArray.push({
            name: $scope.name,
            age: $scope.age
        });
        console.log($scope.myArray[0].name);
    })();
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app">
  <div ng-controller="MainController">
    <h1>Hi, my name is: {{ myArray[0].name }}</h1>    
  </div>  
</div>