Ich versuche herauszufinden, wie TypeScript in einer vorhandenen Angular 1.5 App verwendet werden kann. Ich kann nicht herausfinden, wie man benutzerdefinierte Dienste injiziert. Angular Services und 3rd Party Services funktionieren gut. Die Dienste, die ich injizieren muss, sind noch Vanilla JS-Dienste. Im folgenden Beispiel muss ich reportService injizieren.Angular 1 Dependance Injection mit JavaScript und TypeScript
Der Fehler, den ich bekomme, ist getReportById ist keine Funktion.
class ReportController implements IReportController {
static $inject = ['$stateParams', 'reportService'];
constructor(private $stateParams: angular.ui.IStateParamsService, private reportService) {
this.getReport($stateParams.id);
}
getReport(id: number): object {
reportService.getReportById(id)
.then(function(res) {
console.log(res)
});
}
}
Hier ist der Service.
angular.module('reportsServiceModule', [])
.factory('reportsService', [
'$http',
reportsService
]);
function reportsService(
$http
) {
'use strict';
var service = {};
service.getReportById = function(reportID) {
return 'A promise';
};
return service;
}
sein Und was ist Report? – estus
reportService ist ein regulärer eckiger 1-Dienst (könnte ein beliebiger Dienst sein), der in JavaScript (kein TypeScript) geschrieben ist. –
Bitte geben Sie den Code dafür an. Es ist wichtig. Für jeden Dienst können Sie 'any'-Typ verwenden, aber Sie werden auf diese Weise nicht von TS profitieren. Haben Sie besondere Probleme mit dem obigen Code? – estus