新聞中心
angular官方文檔單例服務(wù)的說(shuō)明
單例模式就不要說(shuō)了,懂點(diǎn)設(shè)計(jì)模式的都懂得,真有不明白的自行百度。
(解釋下angular的命名,angular就是angular2+,angular1叫angularjs,至于angular2,3,4,5,6只是angular的版本,通稱angular,希望小伙伴不要叫錯(cuò)了)
單例模式如何在angular的服務(wù)中使用呢,angular的官方文檔中有這么一段話:
單例服務(wù)
服務(wù)在每個(gè)注入器的范圍內(nèi)是單例的。 在任何一個(gè)注入器中,最多只會(huì)有同一個(gè)服務(wù)的一個(gè)實(shí)例。
這里只有一個(gè)根注入器,而 UserService 就是在該注入器中注冊(cè)的。 所以,在整個(gè)應(yīng)用中只能有一個(gè) UserService 實(shí)例,每個(gè)要求注入 UserService 的類都會(huì)得到這個(gè)服務(wù)實(shí)例。
不過(guò),Angular DI 是一個(gè) 多級(jí)注入系統(tǒng),這意味著各級(jí)注入器都可以創(chuàng)建它們自己的服務(wù)實(shí)例。 Angular 總會(huì)創(chuàng)建多級(jí)注入器。
籠統(tǒng),并不知道依賴注入服務(wù)單例模式怎么用,要想弄明白很簡(jiǎn)單,簡(jiǎn)單的寫(xiě)個(gè)例子實(shí)驗(yàn)一下就可以了,下面我會(huì)給大家說(shuō)一下我的實(shí)驗(yàn)總結(jié),幫助小伙伴節(jié)約一些這種乏味的探索時(shí)間。
實(shí)驗(yàn)樣例代碼
服務(wù)代碼
import { Injectable } from '@angular/core'; @Injectable( //{providedIn: 'root'} ) export class SingletonServiveTestService { private _name = "primaryName"; constructor() { } setName (name){ this._name = name; } getName(){ return this._name; } }
網(wǎng)頁(yè)標(biāo)題:angular服務(wù)的單例模式(依賴注入模式下)詳解-創(chuàng)新互聯(lián)
文章分享:http://www.ef60e0e.cn/article/coghgp.html