Javascript 当可观测字段为空时获取错误
我正在使用以下语法创建一个对象Javascript 当可观测字段为空时获取错误,javascript,knockout.js,Javascript,Knockout.js,我正在使用以下语法创建一个对象 $scope.headerVal = { 'usercode': $rootScope.usrCrdntls.getLoginUcode(), 'venue': data.VENUECODE(), 'symbol': data.SECURITYCODE(), 'expirydate': data.EXPI
$scope.headerVal = {
'usercode': $rootScope.usrCrdntls.getLoginUcode(),
'venue': data.VENUECODE(),
'symbol': data.SECURITYCODE(),
'expirydate': data.EXPIRATIONDATE(),
'option': data.CALLPUT(),
'strikeprice': data.STRIKEPRICE()
};
其中数据由可观察字段组成。但在某些情况下,EXPIRATIONDATE不是出口。因此,出现了错误。如何摆脱这个错误我没有足够的理由添加评论。所以只需添加我的评论作为答案 我没有太多关于knockout.js的信息。但下面应该是可行的
$scope.headerVal = {
'usercode': $rootScope.usrCrdntls.getLoginUcode(),
'venue': data.VENUECODE(),
'symbol': data.SECURITYCODE(),
'option': data.CALLPUT(),
'strikeprice': data.STRIKEPRICE()
};
if (data.EXPIRATIONDATE){
$scope.headerVal.expirydate = data.EXPIRATIONDATE();
}
为字段添加额外的检查。希望有帮助。您可以检查如下错误情况:
'expirydate': function() {
if( data.hasOwnProperty(EXPIRATIONDATE())) {
return data.EXPIRATIONDATE();
}
else {
return false;
}
}
如果您想要一个班轮:
$scope.headerVal = {
'usercode': $rootScope.usrCrdntls.getLoginUcode(),
'venue': data.VENUECODE(),
'symbol': data.SECURITYCODE(),
'expirydate': data.EXPIRATIONDATE && data.EXPIRATIONDATE(),
'option': data.CALLPUT(),
'strikeprice': data.STRIKEPRICE()
};