Javascript TypeError:无法获取属性';项目';指未定义的或空的引用
我对angular js不熟悉,我面临着这个问题(可能是一个简单的问题,但作为初学者,我不知道为什么会发生这种情况)。当我尝试为我的$scope for模型分配一些值时,总是会出现以下错误。其中之一如下 HTML代码Javascript TypeError:无法获取属性';项目';指未定义的或空的引用,javascript,angularjs,asp.net-mvc,Javascript,Angularjs,Asp.net Mvc,我对angular js不熟悉,我面临着这个问题(可能是一个简单的问题,但作为初学者,我不知道为什么会发生这种情况)。当我尝试为我的$scope for模型分配一些值时,总是会出现以下错误。其中之一如下 HTML代码 <input type="text" id="StartDate" class="col-sm-2" ng-model="project.StartDate" /> 我得到的错误是 TypeError: Unable to get property 'project'
<input type="text" id="StartDate" class="col-sm-2" ng-model="project.StartDate" />
我得到的错误是
TypeError: Unable to get property 'project' of undefined or null reference
感谢您的帮助,因为我在很多地方都遇到了这个错误。首先将
$scope.project
声明为空对象
一种方法是
$scope.project = {}
$scope.project.StartDate = new Date().toISOString().split("T")[0];
或者你可以这样做
$scope.project = {
'StartDate' : new Date().toISOString().split("T")[0]
}
调用该函数时,请将范围
也作为参数删除
function DateUpdate(){
删除
DateUpdate
函数参数$scope
,该参数将终止现有$scope
的存在,并且$scope
在函数内部变为未定义的
function DateUpdate() { //<-- remove `$scope` which isn't required at all.
function DateUpdate(){//已经尝试过了。但不幸的是,这也不起作用。myApp.controller('ProjectCtrl',['$scope','http','fileUpload','$filter',function($scope,$http,$filter,APICall,fileUpload){$scope.formsubmit=function(){//code here}function DateUpdate($scope){debugger;var c=new Date();$scope.project.StartDate=new Date().toISOString().split(“T”)[0];}DateUpdate();$scope.uploadFile=function(){//code here};$scope.fetchDetails=function(){//code here};@Aneez用thismyApp.controller替换控制器('ProjectCtrl'、['$scope'、'$http'、'$filter'、'APICall'、'fileUpload'函数($scope、$http、$filter、APICall、fileUpload){$scope.formsubmit=function(){}function DateUpdate(){var c=new Date();$scope.project={'StartDate':new Date().toISOString().split(“T”)[0]}DateUpdate())$scope.uploadFile=function(){};$scope.fetchDetails=function(){}]);
Bingo!!这很有效。非常感谢。这应该是我在任何地方都应该使用的方法。:)是的,请始终确保函数($scope,$http,$filter,APICall,fileUpload)
遵循与字符串注入相同的顺序['$scope','$http','$filter','APICall','fileUpload',
。像这样myApp.controller('ProjectCtrl',['$scope','$http','$filter','APICall','fileUpload',函数($scope,$http,$filter,APICall,fileUpload){
TypeError:无法设置未定义或空的属性“StartDate”reference@Aneez正如sachila已经建议的那样,在从startdate属性访问它之前,您必须定义$scope.project=“{}
。检查他的第一个建议选项。。
function DateUpdate() { //<-- remove `$scope` which isn't required at all.