2013年9月30日 星期一

[Angular] Factory, Service 和 Provider 差異

module.service( 'serviceName', ) 
service 在被inject之後拿來用的時候所得到的是 的instance, 就是new () 出來的東西

factory

module.factory( 'factoryName', )
factory被inject之後的結果是() 所return的東西

provider
module.provider( 'providerName', )
provider 被inject之後所拿到的是new ().$get()的結果, 也就是說 裡需要定義一個method叫做$get 然後你拿到的是這個$get method被執行過後return的結果

service 和 factory的行為都可以用provider來達成, 會寫比較多code XD

資料來源:
http://stackoverflow.com/

factory 裡應該可以inject $rootScope, 其他的scope可能比較難拿到, 不過個人是覺得scope還是盡量在controller裡用就好(雖然directive裡也可以用), 比較乾淨..


JS Bin

【下列文章您可能也有興趣】

沒有留言: