在實現後台管理頁面的時候有乙個頁面需要實現:管理員對資料庫進行備份開啟和關閉的頁面。我當時的就想到了,如果開啟備份,那麼需要設定一些相應的配置,例如備份間隔時間、備份資訊、備份開啟的時間段。那麼這個該如何實現就成了乙個問題
我使用的是iview元件庫,採取乙個switch用來控制當前是否處於備份狀態。而這個狀態是要從資料庫裡獲取的。那麼要實現選擇性視覺化,就要實現switch開啟的時候,顯示備份間隔時間、備份資訊、備份開啟的時間段三個資訊,如果switch關閉的時候,那麼就把這三個資訊填寫元件隱藏掉。
通過設定乙個變數來根據switch關聯的@on-change關聯的函式來切換值。這樣利用:v-if與:v-show都可以說實現條件判斷下的選擇性視覺化。
當然v-if和v-show是有一定區別的
v-if 是「真正」的條件渲染,因為它會確保在切換過程中條件塊內的事件***和子元件適當地被銷毀和重建。相對於使用一些vue的框架,我現在更加傾向於純css實現。v-if 也是惰性的:如果在初始渲染時條件為假,則什麼也不做——直到條件第一次變為真時,才會開始渲染條件塊。
相比之下,v-show 就簡單得多——不管初始條件是什麼,元素總是會被渲染,並且只是簡單地基於 css 進行切換。
一般來說,v-if 有更高的切換開銷,而 v-show 有更高的初始渲染開銷。因此,如果需要非常頻繁地切換,則使用 v-show 較好;如果在執行時條件很少改變,則使用 v-if 較好。
將需要選擇性視覺化的元件放到同乙個div下,設定style
:style="visibility"
因為是動態的,所以一定要在style前加「冒號」。那麼這個visibility在data中定義為空值。當然,在created的時候就需要從資料庫介面進行獲取當前的狀態了並更新visibility。
通過switch的狀態,進行if語句的判斷,如果switch的status是true,則
this.visibility = "visibility:visible";
弱勢status是false,則
this.visibility = "visibility:hidden";
首先,我們要注意,一定要用到的方法要保證所需要的元件隱藏後是占有元件空間的,否則之後的確認按鈕會因為switch狀態上下移動
一定要做好提醒與二次確認的工作細節,如果沒有相應的提醒與二次確認,顯示應用中是很容易出現誤操作的現象。
資料庫備份介面h1
>
:model
="formitem"
:label-width
="140"
class
="form"
>
label
="當前是否開啟備份"
>
:checked.sync
="formitem.switch"
size
="large"
@on-change
="change"
>
slot
="open"
>
開啟span
>
slot
="close"
>
關閉span
>
i-switch
>
form-item
>
i-form
>
:model
="formitem"
:label-width
="140"
class
="form"
:style
="visibility
">
label
="備份頻率"
>
:model.sync
="formitem.frequency"
placeholder
="請選擇"
>
value
="1"
>
1天1次i-option
>
value
="3"
>
3天1次i-option
>
value
="5"
>
5天1次i-option
>
value
="7"
>
7天1次i-option
>
i-select
>
form-item
>
label
="開啟時間段"
>
type
="datetimerange"
placeholder
="請選擇備份時間段"
:value.sync
="formitem.date"
>
date-picker
>
form-item
>
label
="備註資訊"
>
:value.sync
="formitem.note"
placeholder
="請輸入"
>
i-input
>
form-item
>
i-form
>
type
="primary"
class
="commit"
@click
="confirm"
>
確認i-button
>
div>
template
>
14 創新實訓記錄 Vue跨域問題
首先什麼是跨域?由於瀏覽器同源策略,凡是傳送請求url的協議 網域名稱 埠三者之間任意乙個與當前頁面位址不同即為跨域。跨域通常是一下情況組成的 處在不同的ip下 處在同一ip下的不同埠 網路協議不一致 網域名稱不同或子網域名稱不同 出現跨域問題,跨域問題尤其是體現在vue前端通過axios進行htt...
6 29創新實訓工作記錄2
name為檔名稱,key為關鍵字 defdataforwordcloud name,key inputs readtxt name jieba.analyse.set stop words filefeaturepath pattern re.compile r u4e00 u9fa5 output...
3dCG 期中創新實訓記錄
本次記錄主要內容為 第三週完成的主要工作 第一輪場景材質和燈光布置渲染 第四周的主要工作 動作捕捉 3 4周,也就是四月初我們的三維製作團隊主要進行專案的中期階段。我們完成的任務有兩個主要場景的白模附上材質和顏色,擺放燈光,以及動作設計與彩排,實際運用光學動作捕捉裝置捕捉。我完成的主要任務為 1 單...