有很多時(shí)候,需要我們在代碼中執行很多重復的工作,這時(shí)候要涉及到如何使用可復用的方法來(lái)解決重復性問(wèn)題。
2. 點(diǎn)擊其中一個(gè)鏈接(Ajax鏈接),執行某個(gè)Ajax功能,這個(gè)功能應該是比如Efforts/AjaxSetEffortPlanned?itemID=XX&effortPlanned=YY之類(lèi)的
1. 技術(shù)數據不要傳遞
1. 點(diǎn)擊當前值,用jquery toggle出一個(gè)另一個(gè)平時(shí)隱藏的DIV,里邊放好了所有可能的取值
4. 成功回來(lái)后刷新左邊的區域,重新計算和現實(shí)(這里假設已經(jīng)有了個(gè)js函數叫做function refreshLeftPad())
大致業(yè)務(wù)界面如下:
要一步一步地實(shí)現這些技術(shù)上并不太難,無(wú)非是
0. 把當前值顯示為一個(gè)DIV
右邊綠框中顯示的就是當前值(上下還有很多這種當前值),所有工作完成后,需要刷新左側帶陰影區域(第一是黃框中的總額;此外由于這個(gè)任務(wù)還顯示在左邊的區域中,所以第二還要同步更新左邊下面的藍框中的數值)。
封裝的原則下面這個(gè)原則是我2001年的師傅關(guān)宏超說(shuō)的,后來(lái)一直被我們發(fā)揚光大,叫做“最小信息原則”:
2. 點(diǎn)擊其中一個(gè)鏈接(Ajax鏈接),執行某個(gè)Ajax功能
但是,如果有很多頁(yè)面都要這個(gè)功能,而且以后還有其他的類(lèi)似功能(調整當前負責人、完成狀態(tài)之類(lèi)的……),那么代碼就會(huì )臃腫重復,怎么辦呢?封裝。
4. 如果需要,更新某些計算結果(如調整后的總工時(shí)等)
1. 點(diǎn)擊當前值,彈出一個(gè)小窗口,里邊是可能的取值(比如0.25, 0.5, 1, 2, 3,5……天),且顯示為鏈接(因此用戶(hù)會(huì )去點(diǎn))
2. 業(yè)務(wù)數據不能重復
3. 若成功,應該返回新的數值
比如一個(gè)項目管理系統,要求在不同的頁(yè)面的不同位置都能調整任務(wù)的估算工作量,而且要使用Ajax方法(因為每次調整后都要實(shí)時(shí)看到總計),應該如何做呢?
包括兩個(gè)層面:
最小信息原則:方法接口應只傳遞最必須的業(yè)務(wù)信息。
從操作步驟上看,大致分為這么幾步:0. 顯示當前的值(應該看上去能修改的樣子)
這些“可能的值”應該是用某種方法讀取來(lái)的,否則容易亂;每個(gè)值,都是一個(gè)Ajax鏈接
3. 若成功,應該返回新的數值,所以把1中的每個(gè)Ajax鏈接的UpdateTargetID設為0中的DIV即可
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站