2013/9/29

angularjs的Provider,Factory,Service比較


簡單的說
Provider
module.provider('name',provider);
provider可以是obj,function,array
只要其有$get()這個function即可
如果為function,則會被new出來,在注入時回傳他的$get


Factory
module.factory('name',$getFn);
這個function封裝了Provider,
會直接new一個function,並把$getFn寫在這個function的$get上
factory回傳的東西,是拿來跑new function的


Service
Service則再封裝了Factory,原始碼如下,實作了singleton模式
function service(name, constructor) {
    return factory(name, ['$injector', function($injector) {
        return $injector.instantiate(constructor);
    }]);

}
service回傳的東西,是拿來直接myService.foo(),myService.bar()

什麼時候用Factory,什麼時候用Service,目前還搞不太清楚就是了

其他如
config:
通常route會放這邊

value:
factory的再封裝,直接回應設定的值(注意,是存執,不是存run function)

constant:
factory的再封裝,可以在config function中被擷取到 
可以想成constant在注入時,會在config前被執行



ref:
http://iffycan.blogspot.tw/2013/05/angular-service-or-factory.html











ng-attr 測試


ng-attr test

2013/9/6

好久沒寫blog

突然覺得
好久沒寫blog
一個觸發點來引發思緒的重整

但卻發現有了evernote就懶的整理舊資料了