我有来自后端的json响应controlOwners
现在我想设置对$scope.selectedOwners = []
的响应,但它在控制台中给我未定义任何想法这里出了什么问题?
ctrl.js
$scope.selectedOwners = [];
if ($state.is('app.editControl')) {
$scope.selectedOwners = angular.copy($scope.controlowners);
console.log('EDIT CONTROL OWNERS DATA', $scope.selectedOwners);
}
json.js
"controlOwners": [{
"workerKey": -1093,
"sourceFeed": null,
"statusLookUpCode": null,
"externalId": null,
"createdUserText": null,
"createdTimestamp": null,
"modifiedUserText": null,
"modifiedTimestamp": null,
"stdId": "ZK84T1N",
"ccId": null,
"empClasId": null,
"deptId": null,
"fullName": "Rajasekaran, Shanmuga",
}],
答案 0 :(得分:1)
我的猜测正如我在上面的评论中所述,你在对controlOwners的引用中有不正确的大小写。当你应该是大写字母('controlOwners')时,你用小写'o'('controlowners')拼写它。因此你得到一个未定义的错误。
答案 1 :(得分:0)
首先确保这不是拼写错误。你有两个:
controlOwners
^
和
controlowners
^
在JSON和代码中。
然后,如果输入错误仅在您的问题而不在您的代码中,并且取决于您在其他地方使用$scope.selectedOwners
的方式,您可能不希望替换的引用在if语句中列出,而是让它更新现有列表(即使你必须先清除它)。
但显然,如果您的代码完全:
$scope.selectedOwners = [];
if ($state.is('app.editControl')) {
而不是可能在其他时间触发的回调中的if,然后忽略它。