TypeError:无法获取属性' project'未定义或空引用

时间:2017-05-07 13:39:05

标签: javascript angularjs asp.net-mvc

我是刚接触角js的新手,我正面临这个问题(也许是一个简单的问题,但作为一个初学者,我不知道为什么会这样)。当我尝试为模型的$ scope分配一些值时,我总是得到以下错误。其中一个如下。

HTML code,

<input type="text" id="StartDate" class="col-sm-2" ng-model="project.StartDate" />

角度函数代码,

function DateUpdate($scope) {
    debugger;
    $scope.project.StartDate = new Date().toISOString().split("T")[0];
}
DateUpdate();

我收到错误,

TypeError: Unable to get property 'project' of undefined or null reference

感谢帮助,因为我在很多地方都遇到了这个错误。

2 个答案:

答案 0 :(得分:2)

删除DateUpdate函数参数$scope,该参数会杀死现有$scope的存在,$scope在函数内变为undefined

function DateUpdate() { //<-- remove `$scope` which isn't required at all.

答案 1 :(得分:1)

首先将$scope.project声明为空对象。

一种方法是

$scope.project = {}
$scope.project.StartDate = new Date().toISOString().split("T")[0];

或者你可以这样做

$scope.project = { 
    'StartDate' : new Date().toISOString().split("T")[0]
}

当你调用该函数时,同时删除scope作为参数

function  DateUpdate(){