【问题标题】:Access inner value of an object assigned in scope访问范围内分配的对象的内部值
【发布时间】:2017-07-14 07:42:30
【问题描述】:

我想从我的对象控制台记录一个值,但它返回一个未定义的值。

$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 的值。我怎么可能这样做?

【问题讨论】:

  • 它是一个数组而不是一个对象,这就是为什么你不能像那样访问它

标签: javascript angularjs arrays object angularjs-scope


【解决方案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);
        }            
    };

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这将显示数组的第一个元素。
    • 像@Surjeet Bhadauriya 建议的那样使用 for 循环
    猜你喜欢
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2020-10-06
    • 2021-02-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 2013-05-07
    相关资源
    最近更新 更多