在 MVC 當(dāng)中數(shù)據(jù)是存在放 Model 里, View 根據(jù) Model 的數(shù)據(jù)渲染, 這是大題的思路.
但是對(duì)于動(dòng)畫來說, 漸變過程當(dāng)中會(huì)產(chǎn)生一些狀態(tài), 這些狀態(tài)某種程度上不屬于 Model.
對(duì)于這樣的需求, MVC 的模型是怎樣去解決問題的?
如果不是用 MVC, 那么那樣一項(xiàng)技術(shù)是怎樣解決掉問題的?
Model 里的數(shù)據(jù)一般都是 View 的最終結(jié)果,動(dòng)畫的各種狀態(tài)一般不應(yīng)該存在 Model 里面,所以動(dòng)畫跟 Model 應(yīng)該完全無關(guān)才對(duì)。
我覺得動(dòng)畫的控制無論是放在 View 里還是 Controller 里都行。比如像 CSS transition,本質(zhì)上就是 View 來根據(jù)數(shù)據(jù)變化來做補(bǔ)間動(dòng)畫;再比如用 jQuery 的動(dòng)畫函數(shù)直接在修改 DOM 狀態(tài)后播放一個(gè)小動(dòng)畫,這就是在 Controller 層控制。兩種做法都有各自好處,放 View 里更簡(jiǎn)潔但邏輯不能做太復(fù)雜且要非常通用,放 Controller 里更靈活但是會(huì)有額外代碼量,實(shí)際如何選擇就看怎么更方便了。