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

时间:2016-05-22 18:35:34

标签: javascript angularjs arraylist angularjs-scope view-scope

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);
};

在这里,我试图获取范围值name和age并将其加载到控制器内的范围数组中。但是上面的程序什么都没打印。我们不能从控制器访问并将范围值提供给数组吗?如果不可能,我该怎么办呢?

2 个答案:

答案 0 :(得分:0)

你的$ scope.myArray是一个数组,而不是一个对象。

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

答案 1 :(得分:0)

试试这样:



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>
&#13;
&#13;
&#13;