我開始在AngularJS中看到人們正在討論「service()vs factory()」dilema,但我找不到有關第一個文檔的任何文檔。爲什麼service()方法沒有官方文檔?
那麼,我們應該強制自己使用工廠()嗎?或者它就像一個別名?
在此先感謝
我開始在AngularJS中看到人們正在討論「service()vs factory()」dilema,但我找不到有關第一個文檔的任何文檔。爲什麼service()方法沒有官方文檔?
那麼,我們應該強制自己使用工廠()嗎?或者它就像一個別名?
在此先感謝
有些語句我希望在開始使用angular時閱讀過。
提供者是獲取new
ed的函數。並且可以在該狀態下注入配置塊。
當它的時間被使用(即注入其他地方)$get
被調用,並從那裏返回值是您的提供者。
服務是獲取new
的函數,這就是你的服務。
工廠是一個獲取並執行new
的函數。它的返回值是你的工廠。
這三個不同的術語只是爲了區分它們的創建方法。
每個有一些很好的用途:
將一個類或函數構造函數傳遞給該服務。 Angular會做相當於調用「新」的功能。
傳遞一個函數,將您想要的對象返回工廠。 Angular將採取你傳遞的信息,調用它並使用返回值。
例如,工廠:
function(dep1, dep2) {
return {
total: dep1.x + dep2.x
};
}
服務:
function MyClass(dep1, dep2) {
this.total = dep1.x + dep2.x
}
廠通常是罰款,除非你使用的是像打字稿或CoffeeScript的語言,引導您更多的課程。
Provider只是一個可以配置一次的服務。換句話說,如果您在config模塊中初始化模塊時需要設置某些內容,請使用提供程序。這允許您在配置存儲爲要使用的對象之前調整配置。
讓我知道如果這回答你的問題!
看到這篇文章:http://stackoverflow.com/questions/14324451/angular-service-vs-angular-factory –