摘要:最近碰到一個(gè)需求有一個(gè)頁(yè)面有三個(gè)認(rèn)證這三個(gè)認(rèn)證會(huì)變更就是說(shuō)可能這期是認(rèn)證認(rèn)證就可以進(jìn)行下一步但是下期就變成認(rèn)證了需求希望針對(duì)這三個(gè)開(kāi)關(guān)做成這樣開(kāi)關(guān)開(kāi)關(guān)開(kāi)關(guān)都有三種狀態(tài)為必須做為選做一個(gè)為不做如果三個(gè)開(kāi)關(guān)配置成那就代表開(kāi)關(guān)開(kāi)關(guān)都要做開(kāi)關(guān)不用做
最近碰到一個(gè)需求,有一個(gè)頁(yè)面有三個(gè)認(rèn)證,這三個(gè)認(rèn)證會(huì)變更.就是說(shuō)可能這期是認(rèn)證A,認(rèn)證B,就可以進(jìn)行下一步.但是下期就變成B,認(rèn)證C了.需求希望針對(duì)這三個(gè)開(kāi)關(guān)做成這樣,開(kāi)關(guān)A,開(kāi)關(guān)B,開(kāi)關(guān)C,都有三種狀態(tài).1,2,3.1為必須做,2,為選做一個(gè).3為不做.如果三個(gè)開(kāi)關(guān)配置成:[1,2,3],那就代表開(kāi)關(guān)A,開(kāi)關(guān)B都要做,開(kāi)關(guān)C不用做.(ps: 選擇做一個(gè)的是指,如果有兩個(gè)開(kāi)關(guān)狀態(tài)都是2,則2選一,如果有3個(gè)開(kāi)關(guān)狀態(tài)為2,則3選一.但是如果只有一個(gè)開(kāi)關(guān)狀態(tài)為2,則這個(gè)必須做).進(jìn)入下一個(gè)頁(yè)面的條件就是,這三個(gè)開(kāi)關(guān)必須按照配置項(xiàng)做了.
目前設(shè)計(jì)的方案為:
其中,A,B,C代表三個(gè)開(kāi)關(guān),switch代表開(kāi)關(guān)狀態(tài),flag代表開(kāi)關(guān)是否完成.
代碼實(shí)現(xiàn):
checkField: function () { var flagSwitch = true, choiceFlag = true; //這里a,b,c是為了簡(jiǎn)單命名的,在這里分別代表含義: 開(kāi)關(guān)A,開(kāi)關(guān)B,開(kāi)關(guān)C //flag,含義: 是否已經(jīng)做了開(kāi)關(guān)A,開(kāi)關(guān)B,開(kāi)關(guān)C.statusFlagA,statusFlagB, //statusFlagC,的取值可能性分別為1,0.(做或者沒(méi)做) //switch,含義: 開(kāi)關(guān)獲取的結(jié)果.switchSet[0]代表開(kāi)關(guān)A獲取的結(jié)果,switchSet[1]代表開(kāi)關(guān)B獲取的結(jié)果,switchSet[2]代表開(kāi)關(guān)C獲取的結(jié)果. //定義數(shù)據(jù)結(jié)構(gòu). var obj = { a: { flag: statusFlagA, switch: switchSet[0] }, b: { flag: statusFlagB, switch: switchSet[1] }, c: { flag: statusFlagC, switch: switchSet[2] } }; //如果開(kāi)關(guān)數(shù)組中有一個(gè)是可選,則可選標(biāo)識(shí)choiceFlag置為false. switchSet.forEach(function (elem) { if (elem == 2) { choiceFlag = false; } }); //遍歷obj,查看obj中數(shù)據(jù),進(jìn)行判斷是否顯示下一步. ["a", "b", "c"].forEach(function (val) { if (obj[val].switch == 1) { if (!obj[val].flag) { flagSwitch = false; return false; } } else if (obj[val].switch == 2) { if (!choiceFlag && obj[val].flag == 1) { choiceFlag = true; } } }); return (flagSwitch && choiceFlag); },
寫(xiě)到這里,代碼實(shí)現(xiàn)的核心就完了.
翥于2017.9.13簡(jiǎn)記
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/91748.html
摘要:代理模式代理模式為一個(gè)對(duì)象提供一個(gè)代用品或占位符,以便控制對(duì)于它訪問(wèn)。這種代理就叫虛擬代理。保護(hù)代理用于對(duì)象應(yīng)該有不同訪問(wèn)權(quán)限情況。寫(xiě)時(shí)復(fù)制代理時(shí)虛擬代理的一種變體。 一、創(chuàng)建型設(shè)計(jì)模式(三大類(lèi)設(shè)計(jì)模式) 創(chuàng)建型設(shè)計(jì)模式 --創(chuàng)建說(shuō)明該類(lèi)別里面的設(shè)計(jì)模式就是用來(lái)創(chuàng)建對(duì)象的,也就是在不同的場(chǎng)景下我們應(yīng)該選用什么樣的方式來(lái)創(chuàng)建對(duì)象。 1. 單例模式 ==單例模式(Singleton)==:...
摘要:文中涉及到的工具幕布插件番茄工作法助理原則原則是目標(biāo)管理中的一種方法。作為職業(yè)發(fā)展規(guī)劃的目標(biāo)來(lái)說(shuō),一般人最好是制定一個(gè)中期的目標(biāo),時(shí)間長(zhǎng)短在半年至三年內(nèi)。所以這篇旨在分享我在做個(gè)人職業(yè)規(guī)劃中的一些心得體會(huì)方法論思想等。 2019/07/14 UPDATE 本周想分享一下之前閱讀過(guò)的一本書(shū)《堅(jiān)持,一種可以養(yǎng)成的習(xí)慣》,這本書(shū)主要講的是如何去養(yǎng)成一個(gè)習(xí)慣,在本次的初期職業(yè)目標(biāo)的學(xué)習(xí)計(jì)劃中,...
摘要:安裝完成后,在的左下角選擇創(chuàng)建項(xiàng)目,具體操作如下圖所示項(xiàng)目創(chuàng)建頁(yè)面會(huì)出現(xiàn)很多模板庫(kù),如果只有兩個(gè)或者沒(méi)有模版,可以嘗試點(diǎn)擊左下角的刷新模板信息按鈕。 目錄 前言 正文 一、IoT Pi 開(kāi)發(fā)板介紹 二、開(kāi)發(fā)實(shí)戰(zhàn) 1. 連接設(shè)備 2. 搭建開(kāi)發(fā)環(huán)境 3. 開(kāi)始編碼 4. 編譯打包 5. 安裝應(yīng)...
摘要:而要實(shí)現(xiàn)物物相連,一共有個(gè)階段性任務(wù),而這個(gè)階段性任務(wù),也伴隨著巨大的挑戰(zhàn)本文分享自華為云社區(qū)云駐共創(chuàng)以小窺大,從一盞路燈看億萬(wàn)物聯(lián)網(wǎng)之路云駐共創(chuàng)以小窺大,從一盞路燈看億萬(wàn)物聯(lián)網(wǎng)之路,作者啟明。 摘要:IoT, Internet of Things,物聯(lián)網(wǎng),顧名思義,是物物相連。而要實(shí)現(xiàn)物...
閱讀 3753·2021-08-11 11:16
閱讀 1621·2019-08-30 15:44
閱讀 1995·2019-08-29 18:45
閱讀 2267·2019-08-26 18:18
閱讀 996·2019-08-26 13:37
閱讀 1565·2019-08-26 11:43
閱讀 2109·2019-08-26 11:34
閱讀 372·2019-08-26 10:59