Я уже давно писал приложения AngularJS, но Typescript для меня новичок, а затем добавление в AngularJS к Typescript немного отличается от того, что я использую.
В любом случае, какая разница между ними:
app.service('customerDataService', Application.Services.CustomerDataService);
и
app.service('customerDataService', ['$http', '$q', Application.Services.CustomerDataService]);
Контроллер TS
module Application {
export module Services {
export interface ICustomerDataService {
getCustomer(id: number): ng.IPromise<Models.ICustomer>;
}
export class CustomerDataService implements ICustomerDataService {
constructor(private $http: ng.IHttpService, private $q: ng.IQService) {
}
getCustomer(id: number): ng.IPromise<Models.ICustomer> {
return this.$http.get('data/Customer.json').then((response) => {
return response.data;
});
}
}
}
}
App TS
var app = angular.module('app', []);
app.value('config', new Application.ApplicationConfig());
app.service('customerDataService', ['$http', '$q', Application.Services.CustomerDataService]);
app.service('customerDataService', Application.Services.CustomerDataService);
app.controller('DefaultController', ['$scope','config', 'customerDataService', Application.Controllers.DefaultController]);
Они оба работают. Нужно ли явно указывать инъекции для службы?