2017-07-14 65 views
-2

我想控制檯從我的對象記錄一個值,但它返回一個未定義的值。訪問範圍內分配的對象的內部值

$scope.sidsamp = [{todoText:'Clean House', done:false}]; 

    $scope.todoAdd = function() { 
     $scope.sidsamp.push({todoText:$scope.todoInput, done:false}); 
     $scope.todoInput = ""; 
     console.log($scope.sidsamp.todoText); 
    }; 

我想在我的控制檯中顯示todoText的值。我怎麼可能做到這一點?

+2

及其陣列不是一個對象這就是爲什麼你不能訪問它像 –

回答

0

因爲sidsamp是一個數組,您需要使用索引訪問數組內的元素;

$scope.sidsamp = [{todoText:'Clean House', done:false}]; 

$scope.todoAdd = function() { 
    $scope.sidsamp.push({todoText:$scope.todoInput, done:false}); 
    $scope.todoInput = ""; 
    console.log($scope.sidsamp[0].todoText); 
}; 
+0

這將顯示該陣列的第一個元素。 –

+0

用於@Surjeet Bhadauriya建議的循環 –

1

這是很簡單..

因爲$scope.sidsamp是一個數組,所以你不能直接訪問它的價值。您可以使用循環來訪問它。

這是更新的代碼。

$scope.sidsamp = [{todoText:'Clean House', done:false}]; 

    $scope.todoAdd = function() { 
     $scope.sidsamp.push({todoText:$scope.todoInput, done:false}); 
     $scope.todoInput = ""; 
     for(var i=0; i<$scope.sidsamp.length; i++){ 
      console.log($scope.sidsamp[i].todoText); 
     }    
    };