用angular一直將資料的操作在controller中執(zhí)行,程式碼看起來比較臃腫並且難以維護(hù),是否有最佳實(shí)踐的案例~感謝~
走同樣的路,發(fā)現(xiàn)不同的人生
某種意義上或是“約定”,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
單純的操作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
Angular其實(shí)是把一些本來後端幹的活邏輯提到前端來了。
一個(gè)經(jīng)典的例子:todomvc and 原始碼