Angularjs 无法设置属性';id';未定义的

Angularjs 无法设置属性';id';未定义的,angularjs,Angularjs,我正在尝试在控制器中绑定id obj1["id"] = $scope.editableCourse.Modules[i].id; obj["id"] = $scope.editableCourse.Modules[i].Resourses[j].id; 但在运行时,得到了一个 错误:“无法设置未定义的属性“id” 在上述情况下,如何在控制器中初始化“id” 任何人都可以给我一个解决方案。你应该使用var obj={}和var obj1={} 无论何时声明一个对象,其默认值都将为null,如

我正在尝试在控制器中绑定
id

 obj1["id"] = $scope.editableCourse.Modules[i].id;
 obj["id"] = $scope.editableCourse.Modules[i].Resourses[j].id;
但在运行时,得到了一个

错误:“无法设置未定义的属性“id”

在上述情况下,如何在控制器中初始化“id”


任何人都可以给我一个解决方案。

你应该使用
var obj={}
var obj1={}

无论何时声明一个对象,其默认值都将为null,如
var obj
或干脆将
obj
视为
var obj=null或未定义
并且不能为此未定义的对象设置任何类似id的属性

所以你的代码应该是

 var obj = {};
 var obj1 = {};
 obj1["id"] = $scope.editableCourse.Modules[i].id;
 obj["id"] = $scope.editableCourse.Modules[i].Resourses[j].id;

您应该使用
var obj={}
var obj1={}

无论何时声明一个对象,其默认值都将为null,如
var obj
或干脆将
obj
视为
var obj=null或未定义
并且不能为此未定义的对象设置任何类似id的属性

所以你的代码应该是

 var obj = {};
 var obj1 = {};
 obj1["id"] = $scope.editableCourse.Modules[i].id;
 obj["id"] = $scope.editableCourse.Modules[i].Resourses[j].id;

模块或资源未定义。您需要找出原因。id不是问题,未定义的对象或控制器是问题。您需要初始化变量$scope.editableCourse、obj1、obj等。您的
obj1
obj
未定义的
,因此您无法对其设置属性。根据您的情况,您可以执行
var obj={}
来解决此问题。我的问题是如何在控制器中声明$scope.editableCourse.Modules[i].id,其余所有声明都是完美的。模块或资源未定义。您需要找出原因。id不是问题,未定义的对象或控制器是问题。您需要初始化变量$scope.editableCourse、obj1、obj等。您的
obj1
obj
未定义的
,因此您无法对其设置属性。根据您的情况,您可以执行
var obj={}
来解决此问题。我的问题是如何在控制器中声明$scope.editableCourse.Modules[i].id,其余所有声明都是完美的。请添加一些解释,说明此代码为什么有助于OP。这将有助于提供一个未来观众可以学习的答案。有关详细信息,请参阅。请给出如何声明$scope.editableCourse.Modules[i]的建议。id此引用变量请添加一些解释,说明此代码为何有助于OP。这将有助于提供一个未来观众可以学习的答案。有关详细信息,请参阅。请给出如何声明$scope.editableCourse.Modules[i].id此引用变量的建议