我正在尝试使用打字稿来编写angularjs,但我现在被卡住了。我有一个名为AgeService的服务。该服务有一个名为calculateAge的函数。即时通讯调用它到我的控制器,但我得到一个错误写在下面。如何在控制器中使用角度服务 - TypeScript
SERVICE.TS
var servicesModule = angular.module('services', []);
class AgeService {
static AngularDependency = [AgeService];
constructor(private $scope: ng.IScope) {
}
public calculateAge(birthdate: string) {
var today = new Date();
var dob = new Date(Date.parse(birthdate));
var years = today.getFullYear() - dob.getFullYear();
if (today.getMonth() < dob.getMonth() || (today.getMonth() == dob.getMonth() && today.getDate() < dob.getDate()))
years -= 1;
return years;
}
}
servicesModule.service('ageService', AgeService.AngularDependency)
CONTROLLER.TS
var controllersModule = angular.module('controllers', []);
class PersonController {
static AngularDependency = ['$scope', PersonController, 'ageService'];
constructor(private $scope: PersonScope, private ageService: AgeService) {
this.initController();
}
private initController() {
this.$scope.name = 'Berkin';
this.$scope.person = {
name: 'Berkin',
dob: '25-06-1995'
};
this.$scope.person.age = this.ageService.calculateAge(this.$scope.person.dob);
}
}
controllersModule.controller('personController', PersonController.AngularDependency);
HTML
<h4 ng-controller="personController">{{name}} {{person.age}}</h4>
ERROR
谢谢...
为什么你在角2中使用角1? –
我猜他没有在角度2中使用角度1;它的角1只是写在TS中,他应该最终在他的index.html – Rahul
中引用.js文件为什么'PersonController.AngularDependency'只有'PersonController'应该正常工作? – Rahul