簡體   English   中英

使用ES5聲明Angular2服務

[英]Declaring an Angular2 Service with ES5

我在使用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 = {}));

我認為選擇選項1會很好。從Angular.io速查表中查找一個示例。

var OtherService = ng.core.Class({constructor: function() { }});

使用第一個選項,您可能會聲明對其他服務(例如ng.http)的依賴關系,而在第二個選項中,您將很難做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM