2015-03-12 3 views
0

Я создаю объект, используя следующий синтаксисполучаю ошибку, когда наблюдаемое поле пустым

$scope.headerVal = { 
        'usercode': $rootScope.usrCrdntls.getLoginUcode(), 
        'venue': data.VENUECODE(), 
        'symbol': data.SECURITYCODE(), 
        'expirydate': data.EXPIRATIONDATE(),    
        'option': data.CALLPUT(), 
        'strikeprice': data.STRIKEPRICE() 


      }; 

Если данные состоят из наблюдаемых полей. Но в некоторых случаях EXPIRATIONDATE() не завершается. В результате возникает ошибка. Как я могу избавиться от этой ошибки

ответ

0

У меня нет достаточно места для добавления комментариев. Поэтому просто добавление комментариев в качестве ответа.

У меня нет много информации о 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(); 
} 

Добавить дополнительную проверку поле. Надеюсь, поможет.

0

Вы можете проверить ошибки Состояние кое-что, как показано ниже:

'expirydate': function() { 
    if(data.hasOwnProperty(EXPIRATIONDATE())) { 
    return data.EXPIRATIONDATE(); 
    } 
    else { 
    return false; 
    } 
} 
0

Если вы хотите Однострочник:

 $scope.headerVal = { 
       'usercode': $rootScope.usrCrdntls.getLoginUcode(), 
       'venue': data.VENUECODE(), 
       'symbol': data.SECURITYCODE(), 
       'expirydate': data.EXPIRATIONDATE && data.EXPIRATIONDATE(),    
       'option': data.CALLPUT(), 
       'strikeprice': data.STRIKEPRICE() 
     }; 
Смежные вопросы