亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

angular.js - angularjs 的操作dom一般如何寫在指令或服務(wù)中?
怪我咯
怪我咯 2017-05-15 16:51:28
0
3
781

用angular一直將資料的操作在controller中執(zhí)行,程式碼看起來比較臃腫並且難以維護(hù),是否有最佳實(shí)踐的案例~感謝~

怪我咯
怪我咯

走同樣的路,發(fā)現(xiàn)不同的人生

全部回覆(3)
Peter_Zhu

某種意義上或是“約定”,DOM操作只能出現(xiàn)在指令中。最不該出現(xiàn)的位置就是服務(wù)中。 Angular倡導(dǎo)以測(cè)試驅(qū)動(dòng)開發(fā),在你的service或controller中出現(xiàn)了DOM操作,那麼也意味著你的測(cè)試是無法通過的。當(dāng)然,這只是一點(diǎn),重要的是使用Angular的其中一個(gè)好處是啥,那就是雙向資料綁定,這樣你就能專注於處理業(yè)務(wù)邏輯,無需關(guān)係一堆堆的DOM操作。如果你在Angular的程式碼還到處充斥著各種DOM操作,那為什麼不直接用jquery去開發(fā)呢。

我自己也寫過一個(gè)範(fàn)例,或許對(duì)你有幫助:https://github.com/dolymood/angular-example

Peter_Zhu

單純的操作dom,還是放在directive裡比較好,涉及數(shù)據(jù)crud對(duì)應(yīng)DOM的還是通過模板與控制器綁定之後,??在controler中直接操作scope比較好,一些響應(yīng)動(dòng)畫,可以在directive裡綁定事情,然後再controler中廣播事件控制directive中相應(yīng)的動(dòng)畫,這裡有一份比較完整的angular的項(xiàng)目,是我14年入門angular時(shí)看的,學(xué)到了很多,與你分享下,希望對(duì)你有所幫助

https://github.com/atian25/wandoujia-satan

伊謝爾倫
  1. 所有跟視圖顯示有關(guān)的邏輯放到directive中,只有directive可以操作dom。
  2. 所有跟頁面資料有關(guān)的邏輯放到和該頁面綁定的controller。
  3. 所有通用的資料邏輯放到service中。

Angular其實(shí)是把一些本來後端幹的活邏輯提到前端來了。

一個(gè)經(jīng)典的例子:todomvc and 原始碼

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板