国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Vue在頁面右上角實現可懸浮/隱藏的系統菜單

來源:懂視網 責編:小采 時間:2020-11-27 19:50:21
文檔

Vue在頁面右上角實現可懸浮/隱藏的系統菜單

Vue在頁面右上角實現可懸浮/隱藏的系統菜單:這篇文章主要介紹了Vue在頁面右上角實現可懸浮/隱藏的系統菜單,實現思路大概是通過props將showCancel這個Boolean值傳遞到子組件,對父子組件分別綁定事件,來控制這個系統菜單的顯示狀態。需要的朋友可以參考下這是個大多數網站很常見的功能,點擊頁面右上角
推薦度:
導讀Vue在頁面右上角實現可懸浮/隱藏的系統菜單:這篇文章主要介紹了Vue在頁面右上角實現可懸浮/隱藏的系統菜單,實現思路大概是通過props將showCancel這個Boolean值傳遞到子組件,對父子組件分別綁定事件,來控制這個系統菜單的顯示狀態。需要的朋友可以參考下這是個大多數網站很常見的功能,點擊頁面右上角

意思是:避免修改prop值,因為父組件一旦re-render,這個值就會被覆蓋;

另外,盡管在這個按鈕上實現了顯示狀態的切換,但是點擊其他區域的時候,并不會隱藏它,原因是:子組件prop值的變化并沒有影響到父組件,因此showCancel的值一直保持初始值沒有變化,而只有在這個值被更新時才會觸發子組件中相關值的更新。

——好吧,那么老老實實的用一個計算屬性接收showCancel值,這樣實現點擊子組件控制系統菜單的狀態切換;

獲得了計算屬性ifShowCancel,組件相應的變成了v-show="ifShowCancel",我試圖在綁定事件里通過this.ifShowCancel=!this.ifShowCancel切換菜單狀態,報錯,得到報錯信息:Computed property "ifShowCancel" was assigned to but it has no setter;

明白了,要以直接賦值的形式改變計算屬性ifShowCancel的值,需要一個setter函數,但是setter函數中無法修改prop值,因此在getter中也就無法通過return this.showCancel來更新這個計算屬性,所以這個方法貌似也行不通;

到此為止,好像路都成了堵死狀態:prop值不能改->要用計算屬性;計算屬性不能改->需要setter;而寫入了getter、setter,計算屬性的值依賴于prop值->prop值不能改?!粋€堪稱完美的閉環誕生了!

走投無路之際我想起了$emit和$on這一對。

3. 父子互相通信

前邊的prop實現了從父到子的單向通信,而通過$emit和$on,就可以實現從子組件到父組件的通信:這不能直接修改父組件的屬性,但卻可以觸發父組件的指定綁定事件,并將一個值傳入父組件。

在這一步我摒棄了點擊按鈕時的去操作子組件內屬性的想法,既然計算屬性ifShowCancel依賴于prop值,那么就在點擊按鈕時,通過$emit觸發父組件的事件,并將需要修改的屬性值傳入父組件,于是:

這樣處理流程就變成了:點擊按鈕->作為計算屬性的ifShowCancel值傳入父組件并觸發父組件事件,對showCancel賦值->父組件屬性更新->觸發子組件prop更新->觸發重新compute,更新ifShowCancel值->v-show起作用。
另外在點擊其他區域時,通過父組件綁定的click事件,就可以重置showCancel值,進而隱藏掉出現的系統菜單。

下邊放出這個功能的完整代碼。

4. 完整代碼

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Vue在頁面右上角實現可懸浮/隱藏的系統菜單

Vue在頁面右上角實現可懸浮/隱藏的系統菜單:這篇文章主要介紹了Vue在頁面右上角實現可懸浮/隱藏的系統菜單,實現思路大概是通過props將showCancel這個Boolean值傳遞到子組件,對父子組件分別綁定事件,來控制這個系統菜單的顯示狀態。需要的朋友可以參考下這是個大多數網站很常見的功能,點擊頁面右上角
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩大片免费观看视频播放 | 在线观看欧美日韩 | 日韩欧美国产中文 | 亚洲欧美在线免费观看 | 久久不射电影网 | 欧美综合国产 | 永久在线观看 | 久久精品国产一区二区 | 欧美日韩免费 | 免费a一毛片 | 91精品久久久 | 精品久久久久久国产牛牛app | 国产国产成人精品久久 | 日本成本人观看免费fc2 | 日韩亚洲第一页 | 国产精品成人一区二区 | 国产精品黄大片在线播放 | 国产一区二区三区欧美 | 免费a黄色| 在线h片| 91国偷自产一区二区三区 | 亚洲三级在线 | 久久99网站| 日本一区二区三区免费高清在线 | 国产精品成久久久久三级 | 欧美另类网站 | 亚洲天堂一区二区三区 | 天码毛片一区二区三区入口 | 另类激情亚洲 | 日韩资源 | 国产精品久久久久久久毛片 | 国产欧美日韩精品在线 | 日韩h视频 | 国产视频不卡 | 亚洲国产精品免费 | 久久婷婷久久一区二区三区 | 经典三级第一页 | 在线观看亚洲一区 | 日韩v欧美 | 午夜日韩精品 | 日韩亚洲国产综合久久久 |