2017-04-01 46 views
0

我確定缺少一些可能非常基本的東西,但似乎無法繞過這個問題。我很簡單,試圖在點擊時將對象推送到範圍數組中。我目前得到錯誤:TypeError: Cannot read property 'push' of undefined(…)Angular JS - 無法將對象推入範圍數組

下面有什麼,我走到這一步,一個例子:

var app = angular.module('myApp', []);  

app.factory('MyService', function($http, $q, $timeout){ 

    var My_Stored_Data = {} 

    return { 

     template: function(){ 

      var template = { data1: "", data2: "", data3: "", data4: "" } 
      return template 

     } 

    }    
}); 

這裏是控制器:

app.controller('MyController', function ($scope,$q,MyService) { 

    $scope.Main_scope = {}; 

    $scope.add_new_object = function(){ 

     $scope.Main_scope.My_array.push(MyService.template()); 
     //This give an error TypeError: Cannot read property 'push' of undefined(…) 
    } 

}); 

任何人有什麼anyidea我在想念?

回答

2

需要初始化My_array的Main_scope對象內部

app.controller('MyController', function ($scope,$q,MyService) { 
    $scope.Main_scope = {}; 
    $scope.Main_scope.My_array =[]; 
+0

謝謝你這麼多,這似乎已經完成了招 –

+0

@歡迎您 – Sajeetharan

1

錯誤是詳細和清除My_array未定義。您需要在Main_scope變量中定義數組。

$scope.Main_scope = { 
    My_array : [] 
};