Angularjs 角度:在对象中使用$scope方法会导致TypeError:undefined不是函数

Angularjs 角度:在对象中使用$scope方法会导致TypeError:undefined不是函数,angularjs,Angularjs,我得到一个错误:TypeError:undefined不是此函数的函数: 控制器: $scope.dateRange = { before: $scope.oneMonthAgo(), after: new Date }; #<------ $scope.oneMonthAgo = function oneMonthAgo() { var date = new Date; date.setMonth(date.getMonth() - 1); return date; };

我得到一个错误:
TypeError:undefined不是此函数的函数

控制器:

$scope.dateRange = { before: $scope.oneMonthAgo(), after: new Date }; #<------

$scope.oneMonthAgo = function oneMonthAgo() {
  var date = new Date;
  date.setMonth(date.getMonth() - 1);
  return date;
};

交易是什么?

1.在使用oneMonthAgo之前,您需要定义它
2新日期()而不是新日期

var-app=angular.module('app',[]);
应用程序控制器('homeCtrl',函数($scope){
$scope.oneMonthAgo=函数oneMonthAgo(){
变量日期=新日期();
date.setMonth(date.getMonth()-1);
返回日期;
};
$scope.dateRange={
之前:$scope.oneMonthAgo(),
之后:新日期()
};
});

日期范围:

{{dateRange | json}
您不需要重复函数名;在尝试在dateRange中使用函数之前,还需要定义该函数

$scope.oneMonthAgo = function() {
  // ... function stuff here
};

$scope.dateRange = { /* Can make calls to $scope.oneMonthAgo() here */ }

也许应该在
$scope.dateRange
之前声明
$scope.oneMonthAgo
?Mephoros是正确的。记住,$scope只是一个奇特的javascript
对象
,这对我来说很有帮助。
$scope.oneMonthAgo = function() {
  // ... function stuff here
};

$scope.dateRange = { /* Can make calls to $scope.oneMonthAgo() here */ }