91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angular 動態組件類型詳解(四種組件類型)

發布時間:2020-08-24 07:42:12 來源:腳本之家 閱讀:313 作者:miaowwwww 欄目:web開發

組件類型1:純函數功能,而沒有視圖部分,即Factory(類似于$http)

promise.component.html

常見的有內置的$http,$q之類的。一般使用promise與作用域進行交互

組件類型2:不是常駐于視圖,而是動態插入的、有UI的一類組件,有輸入交互、不常被調用(類似于Model對話框)

factory.component.html

并發性。這里收到es6的啟發。在factory內使用了構造函數,來區分不同的實例。當然,factory接口返回的類型要根據需求來定:僅僅是一個promise?還是返回一整個組件的實例

數據驅動。factory內部我使用了this.scope = $rootScope.$new()。并把每個實例的模板和作用域進行綁定$compile(html())(scope)。感謝毛總,這招真是方便。我們能夠真正使用到angular的精髓:用數據來驅動我們的視圖了

交互。該demo因為需要與用戶進行交互,因此返回了一個promise給調用者。當然實際要看情況。

作用域。由于該組件并不常常需要被調用,因此一旦組件'close'(從視圖上消失),就scope.$destroy()、instance.remove()

組件類型3:不常駐于視圖,但會被經常調用,而且是動態插入的、無輸入交互、有UI的一類組件(類似于popover)

factory.component2.html

對比。與上類型組件對比,該類組件更容易被調用(類似于微信右上角的popover)
并發性。要求更高,稍復雜。因此返回組件的實例,讓開發者可用調用組件內部的方法(open/close/...)。同時,鑒于需求特殊性,在open()方法處我傳入了$event作為UI參數

作用域。由于是隱藏地常駐與視圖,因此只當路由切換時才注銷實例。scope.$watch('$stateChangeSuccess', function(){scope.destroy()})

組件實例。賦值給作用域的變量 $scope.instance = Mypop.init()

組件類型4:實例之間存在某種關系、不常駐于視圖,動態插入、只有視覺交互、有UI的一類組件(類似于ant design的Notification)

factory.component.3.html

對比。與上類組件對比,組件的每個實例之間需要存在某種隊列關系,具體操作方法請參考上面的例子。

實例關系。如何維護實例之間的關系?筆者比較笨的方法是開啟另一個factory實例,存放一個實例數據,來維護實例之間的關系var _sl = scope.list = []。然后該factory具備操作實例隊列的一些方法 _sl.push(token)或者 _sl.shift()。同時每個實例都會監聽這個實例隊列 _s.$watchCollection('instanceList', function(){...})

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 淮安市| 积石山| 宁远县| 延安市| 万源市| 永城市| 南开区| 沅江市| 迁安市| 乐安县| 丽水市| 新化县| 静宁县| 九江市| 岑溪市| 昭苏县| 喀什市| 东光县| 彭泽县| 芜湖县| 武穴市| 恩平市| 固始县| 分宜县| 奉贤区| 沈阳市| 北京市| 昆明市| 博爱县| 唐山市| 扶风县| 东平县| 曲阳县| 增城市| 松原市| 临高县| 金阳县| 印江| 寿光市| 黑山县|