无法设置NULL对象的属性

时间:2014-10-01 19:22:30

标签: angularjs

我有一个watch函数,它使用输入的值进行一些基本的数学运算。

 $scope.$watch('currentItem.JobOriginalContract -- currentItem.JobTotalCO', function (value) {
    $scope.currentItem.JobRevisedContract = value;
});
  

TypeError:无法设置属性' JobRevisedContract'为null

当我这样做时......

$scope.currentItem.JobRevisedContract = null;
$scope.currentItem.JobRevisedContract = {};
$scope.$watch('currentItem.JobOriginalContract -- currentItem.JobTotalCO', function (value) {
    $scope.currentItem.JobRevisedContract = value;
});

...错误消息消失了,但它导致其他一切都无法正常工作。它没有错误。我该怎么办?

2 个答案:

答案 0 :(得分:2)

在尝试设置对象之前检查对象是否存在:

if (!$scope.currentItem) $scope.currentItem = {};
$scope.currentItem.JobRevisedContract = value;

答案 1 :(得分:1)

试试这个

 $scope.$watch('currentItem.JobOriginalContract -- currentItem.JobTotalCO', function (value) {
    $scope.currentItem.JobRevisedContract={};
  $scope.currentItem.JobRevisedContract = value;

  });