angular.js - 如何理解$provide、provider、$compileProvider等等相關(guān)服務(wù)
問(wèn)題描述
兩個(gè)代碼段的功能是一樣的,不同寫(xiě)法主要有什么區(qū)別?$provide,provider,$compileProvider,$controllerProvider,$filterPrivoder,這幾個(gè)的概念用法區(qū)分?
問(wèn)題解答
回答1:我覺(jué)得你是想問(wèn)Provider的作用。你例子中的$provide, $compileProvider都是angular的內(nèi)部Provider。聰明的你已經(jīng)看出Provider的調(diào)用實(shí)在config中, 那你順便也猜出了Provider是對(duì)當(dāng)前應(yīng)用的配置。directive, factory 等module都是可以在多個(gè)項(xiàng)目中復(fù)用的, 然而每個(gè)項(xiàng)目的環(huán)境不同。調(diào)用Provider可以配置當(dāng)前項(xiàng)目的環(huán)境。打比方好了, 配置路由在config中調(diào)用了routeProvider來(lái)配置項(xiàng)目的路由, 每個(gè)項(xiàng)目是不同的; httpProvider配置$http的行為和返回內(nèi)容, locationProvider來(lái)配置路由是否使用#,等等等等。自定義的provider只需要在config中注入(provider名字)Provider就可以調(diào)用provider的方法了。順帶一體 provider還有delegate方法, 如果當(dāng)前項(xiàng)目的服務(wù)需要特別的function可以通過(guò)這個(gè)加入, 并不影響原先的服務(wù)。
相關(guān)文章:
1. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””2. Span標(biāo)簽3. css - 求推薦適用于vue2的框架 像bootstrap這種類(lèi)型的4. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題5. android新手一枚,android使用httclient獲取服務(wù)器端數(shù)據(jù)失敗,但是用java工程運(yùn)行就可以成功獲取。6. css - 關(guān)于div自適應(yīng)問(wèn)題,大家看圖吧,說(shuō)不清7. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。8. java - Collections類(lèi)里的swap函數(shù),源碼為什么要新定義一個(gè)final的List型變量l指向傳入的list?9. python - django如何每次調(diào)用標(biāo)簽的時(shí)候都取隨機(jī)數(shù)據(jù)10. SessionNotFoundException:會(huì)話(huà)ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)
