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

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

用angular一直將數(shù)據(jù)的操作在controller中執(zhí)行,代碼看上去比較臃腫并且難以維護(hù),是否有最佳實(shí)踐的案例~感謝~

怪我咯
怪我咯

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

全部回復(fù)(3)
Peter_Zhu

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

我自己也寫過一個示例,或許對你有幫助:https://github.com/dolymood/angular-example

Peter_Zhu

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

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

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

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

一個經(jīng)典的例子:todomvc and 源碼

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