在 JavaScript 对象中添加子对象时获取“无法设置未定义的属性'项目'”

Getting "Cannot set property 'items' of undefined" while adding child object in JavaScript objects

本文关键字:对象 未定义 属性 设置 项目 添加 JavaScript 获取      更新时间:2023-09-26

我正在尝试将数组添加到对象上,但收到"无法设置未定义的属性'项目'"错误。以下是我想要实现的目标

$rootScope.jobs.items = [];
$rootScope.jobs.item = {};
$rootScope.jobs.after = 0;
$rootScope.jobs.noOfRecord = 10;
$rootScope.jobs.busy = false;
$rootScope.jobs.finish = false;

其中$rootScope是一个有效的对象,由 Angularjs 及其法线设置以向其添加对象。 $rootScope没有任何问题。

我已经在为什么我得到 无法设置未定义错误的属性"na0"? 但它是不同的。

您需要先定义$rootScope.jobs对象

$rootScope.jobs = { 
    items : [],
    item: {}, 
    after: 0,
    noOfRecord: 10,
    busy: false,
    finish:false
};
您需要

定义jobs

例如
$rootScope.jobs = {} ;

这正是错误消息所说的。 $rootScope.jobs未定义。

您正在尝试将属性items添加到未定义的对象。

一个简单的解决方法是在$rootScope上初始化jobs

$rootScope.jobs = {};