2016-05-22 65 views
1
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); 
}; 

在这里,我试图让范围值名字和年龄,并将其加载到控制器内的范围数组。但上面的程序什么都不打印。我们可以访问并将范围值从控制器提供给数组吗?如果不可能,我该如何正确地做到这一点?负载范围值到一个数组不工作在angularjs

+0

声明该函数'sampleMethod'但你还没有作出一个函数调用。所以会有什么在控制台上 –

回答

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>

0

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

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