這篇博客其實(shí)是angular源碼閱讀之路的一個(gè)必經(jīng)站點(diǎn),就是要理解injector,provider,module之間的關(guān)系——這關(guān)系其實(shí)就是依賴(lài)注入的本質(zhì)。

那么請(qǐng)專(zhuān)注地看下面這一段話(huà)吧:

通俗一點(diǎn)的理解:

module是發(fā)布任務(wù)的BOSS。

injector是領(lǐng)取任務(wù)的中間人。

provider是真正去執(zhí)行任務(wù)的馬仔。

當(dāng)然上面這一段話(huà)只是比喻,不太嚴(yán)謹(jǐn),可是很形象。待我慢慢解釋來(lái)。

 

如果你比較熟悉angular,那么你肯定知道在每一個(gè)module對(duì)象上,都有一個(gè)私有屬性"_invokeQueue"。

這個(gè)_invokeQueue,其實(shí)就是module發(fā)布的任務(wù)。

怎么理解『_invokeQueue,其實(shí)就是module發(fā)布的任務(wù)?!贿@句話(huà)呢?請(qǐng)看下面的簡(jiǎn)單小代碼。

當(dāng)我執(zhí)行下面這段語(yǔ)句,我會(huì)在myapp中創(chuàng)建一個(gè)全局變量name='不咬人的蚊子':

  • <li id="5hova"></li>
  • <var id="5hova"><form id="5hova"><small id="5hova"></small></form></var>

    我想了解如何學(xué)習(xí)

    姓名:
    手機(jī):
    留言:
     
    <rt id="5hova"><tr id="5hova"><small id="5hova"></small></tr></rt>
    <rt id="5hova"></rt>