我通过以下方式从服务器获取客户详细信息对象,
我希望分配“种姓”的价值。对模型的描述。但我收到的错误是:无法读取属性'描述'未定义的
我有种姓'以下列方式详述对象,
//default object
$scope.personalDetailsObj = {
"personalDetails": {
"title":"",
"name":"",
"fistNm":"",
"lastNm":"",
"caste":null
}
}
$scope.casteList = [
{
"code": "0",
"description": "NOT APPLICABLE"
},
{
"code": "1",
"description": "SHARE CROPPERS"
}
]
$scope.personalDetailsObj.personalDetails = $scope.customerData.personalDetails;
$scope.personalDetailsObj.personalDetails.caste = $scope.casteList.filter(function(obj){return obj.code == $scope.personalDetailsObj.personalDetails.caste;})[0].description;
我正在尝试分配模型值
<input type="text" data-ng-model="personalDetailsObj.personalDetails.caste" name="caste"/>
答案 0 :(得分:0)
您正在根据以下条件过滤数组:
obj.code == $scope.personalDetailsObj.personalDetails.caste
我不确定您的应用程序逻辑,但我可以看到caste
是一个字符串,您正在尝试根据代码进行检查。因为它始终返回一个空数组,list[0]
将返回undefined,因此无法访问description
属性。
可能会将其更改为:
obj.code == $scope.personalDetailsObj.personalDetails.code
或者
obj.caste == $scope.personalDetailsObj.personalDetails.caste
答案 1 :(得分:0)
我认为你的比较是错误的。它应该是
$ scope.personalDetailsObj.personalDetails.caste = $ scope.casteList.filter(function(obj){return obj.code == $ scope.personalDetailsObj.personalDetails。 code ;})[0 ] .DESCRIPTION;