У меня возникли проблемы с введением услуги в компонент с использованием ES5. Я, наконец, смог заставить его работать, но обнаружил пару разных способов объявления сервиса. Один из них - более «Угловой» способ объявить услугу?Объявление службы Angular2 с ES5
Здесь компонент
(function (app) {
app.employeeSearchComponent = ng.core
.Component({
selector: 'employee-search',
templateUrl: rootUrl + 'Home/EmployeeSearch',
providers: [app.Service]
})
.Class({
constructor: [app.Service, function(service) {
console.log(service.greeting);
}]
});
})(window.app || (window.app = {}));
Вот это услуга (Вариант 1)
(function(app) {
app.Service = ng.core.Class({
constructor: function(){},
greeting: function() {
return 'hello';
}
});
})(window.app || (window.app = {}));
Здесь услуга (Вариант 2)
(function(app) {
app.Service = function() {
this.greeting = function() {
return 'hello';
}
};
})(window.app || (window.app = {}));
Похож на http://stackoverflow.com/questions/34532138/how-to-inject-custom-service-to-angular-component-in-plain-es5-javascript –
Вы правы. Результат и код очень похожи. Тем не менее, я ищу объяснение относительно того, какая версия службы предпочтительнее ..., которую вы указали, не объясняет. – puddinman13
@ puddinman13 Я думаю, что ваш ответ может быть [здесь] (https://github.com/angular/angular/blob/master/modules/angular2/src/core/util/decorators.ts#L128) –