2017年6月21日,天氣陰。心情比較沉重。
近期由于畢設(shè)的事情,三周不寫代碼了。這周測(cè)試提交了一些BUG,于是開始著手處理,還真的是熟能生巧,三周的功夫就感覺有點(diǎn)生疏。其中有一個(gè)BUG就是角色對(duì)應(yīng)的菜單權(quán)限是寫死的,理論上應(yīng)該從數(shù)據(jù)庫讀取。其實(shí)之前一直知道應(yīng)該這么做,只不過樹這個(gè)功能確實(shí)耗了我很長(zhǎng)時(shí)間,當(dāng)時(shí)為了追趕進(jìn)度就寫死了。最開始我用的ZTree做的,花了三天時(shí)間沒有做出來,后來我換成了EasyUI,樹倒了顯示出來了,只不過沒有從數(shù)據(jù)庫讀數(shù)據(jù)。剛開始處理的時(shí)候還以為問題不大,把數(shù)據(jù)從數(shù)據(jù)庫中拿到,在JS中按照規(guī)定好的格式拼湊就好了,沒想到越做越復(fù)雜,目前的三級(jí)菜單就涉及三層for循環(huán)。起初寫出來的時(shí)候每級(jí)菜單都循環(huán)了很多次,后來發(fā)現(xiàn)是加數(shù)據(jù)的位置不對(duì),還有就是拼湊的時(shí)候格式有問題,本來應(yīng)該是數(shù)組包含多個(gè)對(duì)象(對(duì)應(yīng)各級(jí)菜單)的地方我只寫了一個(gè)對(duì)象,后來換了很多次位置,并且完全按照之前寫死的格式拼出來,終于一級(jí)菜單正常了,不過二、三級(jí)菜單依舊循環(huán)了很多次。試了很多次總是不行,問了一下同事聶兄,他過來幫我調(diào)試時(shí)發(fā)現(xiàn)原來是變量定義的問題,本來應(yīng)該是局部變量,我定義成了全局變量,這就導(dǎo)致每次初始化的時(shí)候不是一個(gè)全新的變量,而是在原有基礎(chǔ)上改變的變量。于是立刻把對(duì)應(yīng)的變量修改,終于,功夫不負(fù)有心人,出來了。哈哈哈,內(nèi)心還是蠻激動(dòng)的!經(jīng)過這件事我有幾點(diǎn)感想:1.在開發(fā)之前盡量把該考慮的問題都考慮到,不然后期修改和維護(hù)會(huì)很麻煩;2.遇事不要慌張,冷靜地思考,從多角度審視問題,只要找到問題所在,解決還是比較快的。
昨晚看到一句話,尼采的“一個(gè)人知道自己為什么而活著,便能生存。”還有《白鹿原》中朱先生送給黑娃的“學(xué)為好人”四個(gè)字。感覺都很有哲理,拿出來與君分享。
廢話不多說了,直接上代碼。
1.controller查詢菜單程序