精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

絕對干貨~!學(xué)會這些Vue小技巧

開發(fā)
今天小編給大家?guī)砹诉@幾個(gè)Vue小技巧

 學(xué)會使用$attrs 與 $listeners,二次包裝組件就靠它了 

[[342286]]

前幾天產(chǎn)品經(jīng)理給我甩過來一份管理系統(tǒng)的設(shè)計(jì)原型,我打開看了看,發(fā)現(xiàn)系統(tǒng)中的大部分彈框右下角都是確定和取消兩個(gè)按鈕。如果使用element-ui提供的Dialog,那么每一個(gè)彈框都要手動加按鈕,不但代碼量增多,而且后面如果按鈕UI,需求發(fā)生變化,改動量也比較大。

如果可以將Dialog進(jìn)行二次封裝,將按鈕封裝到組件內(nèi)部,就可以不用重復(fù)去寫了。說干就干。

定義基本彈框代碼

  1. <template> 
  2.   <el-dialog :visible.sync="visibleDialog"
  3.     <!--內(nèi)容區(qū)域的默認(rèn)插槽--> 
  4.     <slot></slot> 
  5.     <!--使用彈框的footer插槽添加按鈕--> 
  6.     <template #footer> 
  7.       <!--對外繼續(xù)暴露footer插槽,有個(gè)別彈框按鈕需要自定義--> 
  8.       <slot name="footer"
  9.         <!--將取消與確定按鈕集成到內(nèi)部--> 
  10.         <span> 
  11.           <el-button @click="$_handleCancel">取 消</el-button> 
  12.           <el-button type="primary" @click="$_handleConfirm"
  13.             確 定 
  14.           </el-button> 
  15.         </span> 
  16.       </slot> 
  17.     </template> 
  18.   </el-dialog> 
  19. </template> 
  20. <script> 
  21. export default { 
  22.   props: { 
  23.     // 對外暴露visible屬性,用于顯示隱藏彈框 
  24.     visible: { 
  25.       type: Boolean, 
  26.       defaultfalse 
  27.     } 
  28.   }, 
  29.   computed: { 
  30.     // 通過計(jì)算屬性,對.sync進(jìn)行轉(zhuǎn)換,外部也可以直接使用visible.sync 
  31.     visibleDialog: { 
  32.       get() { 
  33.         return this.visible; 
  34.       }, 
  35.       set() { 
  36.         this.$emit("update:visible"); 
  37.       } 
  38.     } 
  39.   }, 
  40.   methods: { 
  41.     // 對外拋出cancel事件 
  42.     $_handleCancel() { 
  43.       this.$emit("cancel"); 
  44.     }, 
  45.     // 對外拋出 confirm事件 
  46.     $_handleConfirm() { 
  47.       this.$emit("confirm"); 
  48.     } 
  49.   } 
  50. }; 
  51. </script> 

但上面的代碼存在一個(gè)問題,無法將Dialog自身的屬性和事件暴露到外部(雖然可以通過props及$emit一個(gè)一個(gè)添加,但是很麻煩),這時(shí)候就可以使用$attrs與$listeners

使用$attrs與$listeners
$attrs: 當(dāng)組件在調(diào)用時(shí)傳入的屬性沒有在props里面定義時(shí),傳入的屬性將被綁定到$attrs屬性內(nèi)(class與style除外,他們會掛載到組件最外層元素上)。并可通過v-bind="$attrs"傳入到內(nèi)部組件中

$listeners: 當(dāng)組件被調(diào)用時(shí),外部監(jiān)聽的這個(gè)組件的所有事件都可以通過$listeners獲取到。并可通過v-on="$listeners"傳入到內(nèi)部組件中。

修改彈框代碼

  1. <!---使用了v-bind與v-on監(jiān)聽屬性與事件--> 
  2. <template> 
  3.     <el-dialog :visible.sync="visibleDialog" v-bind="$attrs" v-on="$listeners"
  4.     <!--其他代碼不變--> 
  5.     </el-dialog> 
  6. </template> 
  7. <script> 
  8.   export default { 
  9.     //默認(rèn)情況下父作用域的不被認(rèn)作 props 的 attribute 綁定 (attribute bindings) 
  10.     //將會“回退”且作為普通的 HTML attribute 應(yīng)用在子組件的根元素上。 
  11.     //通過設(shè)置 inheritAttrs 到 false,這些默認(rèn)行為將會被去掉 
  12.     inheritAttrs: false 
  13.  } 
  14. </script> 
  15.  
  16. <!---外部使用方式--> 
  17. <custom-dialog 
  18.   :visible.sync="visibleDialog" 
  19.   title="測試彈框" 
  20.   @opened="$_handleOpened" 
  21.   這是一段內(nèi)容 
  22. </custom-dialog> 

 使用require.context實(shí)現(xiàn)前端工程自動化
require.context是一個(gè)webpack提供的Api,通過執(zhí)行require.context函數(shù)獲取一個(gè)特定的上下文,主要是用于實(shí)現(xiàn)自動化導(dǎo)入模塊。

什么時(shí)候用?當(dāng)一個(gè)js里面需要手動引入過多的其他文件夾里面的文件時(shí),就可以使用。

在Vue項(xiàng)目開發(fā)過程中,我們可能會遇到這些可能會用到require.context的場景

當(dāng)我們路由頁面比較多的時(shí)候,可能會將路由文件拆分成多個(gè),然后再通過import引入到index.js路由主入口文件中

當(dāng)使用svg symbol時(shí)候,需要將所有的svg圖片導(dǎo)入到系統(tǒng)中(建議使用svg-sprite-loader)

開發(fā)了一系列基礎(chǔ)組件,然后把所有組件都導(dǎo)入到index.js中,然后再放入一個(gè)數(shù)組中,通過遍歷數(shù)組將所有組件進(jìn)行安裝。

對于上述的幾個(gè)場景,如果我們需要導(dǎo)入的文件比較少的情況下,通過import一個(gè)一個(gè)去導(dǎo)入還可以接受,但對于量比較大的情況,就變成了純體力活,而且每次修改增加都需要在主入口文件內(nèi)進(jìn)行調(diào)整。這時(shí)候我們就可以通過require.context去簡化這個(gè)過程。

現(xiàn)在以上述第三條為例,來說明require.context的用法

 

常規(guī)用法

組件通過常規(guī)方式安裝

require.context基本語法

通過require.context安裝Vue組件

自定義v-model,原來這么簡單
在用Vue開發(fā)前端時(shí),不論使用原生還是封裝好的UI庫,對于表單組件,一般都會使用到v-model。雖然v-model是一個(gè)語法糖,但是吃到嘴里挺甜的啊。學(xué)會自定義v-model,還是很有必要的。

基本用法
一個(gè)組件上的v-model默認(rèn)是通過在組件上面定義一個(gè)名為value的props,同時(shí)對外暴露一個(gè)名為input的事件。

源碼:

使用方式:


自定義屬性與事件
通常情況下,使用value屬性與input事件沒有問題,但是有時(shí)候有些組件會將value屬性或input事件用于不同的目的,比如對于單選框、復(fù)選框等類型的表單組件的value屬性就有其他用處,參考(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#Value)。或者希望屬性名稱或事件名稱與實(shí)際行為更貼切,比如active,checked等屬性名。

使用.sync,更優(yōu)雅的實(shí)現(xiàn)數(shù)據(jù)雙向綁定
在Vue中,props屬性是單向數(shù)據(jù)傳輸?shù)?父級的prop的更新會向下流動到子組件中,但是反過來不行。可是有些情況,我們需要對prop進(jìn)行“雙向綁定”。上文中,我們提到了使用v-model實(shí)現(xiàn)雙向綁定。但有時(shí)候我們希望一個(gè)組件可以實(shí)現(xiàn)多個(gè)數(shù)據(jù)的“雙向綁定”,而v-model一個(gè)組件只能有一個(gè)(Vue3.0可以有多個(gè)),這時(shí)候就需要使用到.sync。

.sync與v-model的異同
相同點(diǎn):

兩者的本質(zhì)都是語法糖,目的都是實(shí)現(xiàn)組件與外部數(shù)據(jù)的雙向綁定

兩個(gè)都是通過屬性+事件來實(shí)現(xiàn)的

不同點(diǎn)(個(gè)人觀點(diǎn),如有不對,麻煩下方評論指出,謝謝):

一個(gè)組件只能定義一個(gè)v-model,但可以定義多個(gè).sync

v-model與.sync對于的事件名稱不同,v-model默認(rèn)事件為input,可以通過配置model來修改,.sync事件名稱固定為update:屬性名

自定義.sync
在開發(fā)業(yè)務(wù)時(shí),有時(shí)候需要使用一個(gè)遮罩層來阻止用戶的行為(更多會使用遮罩層+loading動畫),下面通過自定義.sync來實(shí)現(xiàn)一個(gè)遮罩層

動態(tài)組件,讓頁面渲染更靈活
前兩天產(chǎn)品經(jīng)理來了新的需求了,告訴我,需要根據(jù)用戶的權(quán)限不同,頁面上要顯示不同的內(nèi)容,然后我就哼哧哼哧的將不同權(quán)限對應(yīng)的組件寫了出來,然后再通過v-if來判斷要顯示哪個(gè)組件,就有了下面的代碼

但是看到上面代碼的那一長串v-if,v-else-if,我感覺我的代碼潔癖癥要犯了,不行,這樣code review過不了關(guān),我連自己這一關(guān)都過不了,這時(shí)候就改動態(tài)組件發(fā)揮作用了。

mixins,更高效的實(shí)現(xiàn)組件內(nèi)容的復(fù)用
mixins是Vue提供的一種混合機(jī)制,用來更高效的實(shí)現(xiàn)組件內(nèi)容的復(fù)用。怎么去理解混入呢,我覺得和Object.assign,但實(shí)際與Object.assign又有所不同。

 

基本示例


在開發(fā)echarts圖表組件時(shí),需要在窗口尺寸發(fā)生變化時(shí),重置圖表的大小,此時(shí)如果在每個(gè)組件里面都去實(shí)現(xiàn)一段監(jiān)聽代碼,代碼重復(fù)太多了,此時(shí)就可以使用混入來解決這個(gè)問題

  1. // 混入代碼 resize-mixins.js 
  2. import { debounce } from 'lodash' 
  3. const resizeChartMethod = Symbol('resizeChart'
  4.  
  5. export default { 
  6.   data() { 
  7.     // 在組件內(nèi)部將圖表init的引用映射到chart屬性上 
  8.     return { 
  9.       chart: null 
  10.     } 
  11.   }, 
  12.   created() { 
  13.     window.addEventListener('resize', this[resizeChartMethod]) 
  14.   }, 
  15.   beforeDestroy() { 
  16.     window.removeEventListener('reisze', this[resizeChartMethod]) 
  17.   }, 
  18.   methods: { 
  19.     // 通過lodash的防抖函數(shù)來控制resize的頻率 
  20.     [resizeChartMethod]: debounce(function() { 
  21.       if (this.chart) { 
  22.         this.chart.resize() 
  23.       } 
  24.     }, 100) 
  25.   } 
  26.  
  27. <!--圖表組件代碼--> 
  28. <template> 
  29.   <div class="chart"></div> 
  30. </template> 
  31. <script> 
  32. import echartMixins from './echarts-mixins' 
  33. export default { 
  34.   // mixins屬性用于導(dǎo)入混入,是一個(gè)數(shù)組,數(shù)組可以傳入多個(gè)混入對象 
  35.   mixins: [echartMixins], 
  36.   data() { 
  37.     return { 
  38.       chart: null 
  39.     } 
  40.   }, 
  41.   created() { 
  42.     this.chart = echarts.init(this.$el) 
  43.   } 
  44. </script> 

不同位置的混入規(guī)則


在Vue中,一個(gè)混入對象可以包含任意組件選項(xiàng),但是對于不同的組件選項(xiàng),會有不同的合并策略。

data 對于data,在混入時(shí)會進(jìn)行遞歸合并,如果兩個(gè)屬性發(fā)生沖突,則以組件自身為主,如上例中的chart屬性

生命周期鉤子函數(shù)

對于生命周期鉤子函數(shù),混入時(shí)會將同名鉤子函數(shù)加入到一個(gè)數(shù)組中,然后在調(diào)用時(shí)依次執(zhí)行。混入對象里面的鉤子函數(shù)會優(yōu)先于組件的鉤子函數(shù)執(zhí)行。如果一個(gè)組件混入了多個(gè)對象,對于混入對象里面的同名鉤子函數(shù),將按照數(shù)組順序依次執(zhí)行,如下代碼:

  1. const mixin1 = { 
  2.   created() { 
  3.     console.log('我是第一個(gè)輸出的'
  4.   } 
  5.  
  6. const mixin2 = { 
  7.   created() { 
  8.     console.log('我是第二個(gè)輸出的'
  9.   } 
  10. export default { 
  11.   mixins: [mixin1, mixin2], 
  12.   created() { 
  13.     console.log('我是第三個(gè)輸出的'
  14.   } 

其他選項(xiàng) 對于值為對象的選項(xiàng),如methods,components,filter,directives,props等等,將被合并為同一個(gè)對象。兩個(gè)對象鍵名沖突時(shí),取組件對象的鍵值對。


全局混入
混入也可以進(jìn)行全局注冊。一旦使用全局混入,那么混入的選項(xiàng)將在所有的組件內(nèi)生效,如下代碼所示:

  1. Vue.mixin({ 
  2.   methods: { 
  3.     /** 
  4.      * 將埋點(diǎn)方法通過全局混入添加到每個(gè)組件內(nèi)部 
  5.      * 
  6.      * 建議將埋點(diǎn)方法綁定到Vue的原型鏈上面,如:Vue.prototype.$track = () => {} 
  7.      * */ 
  8.     track(message) { 
  9.       console.log(message) 
  10.     } 
  11.   } 
  12. }) 

請謹(jǐn)慎使用全局混入,因?yàn)樗鼤绊懨總€(gè)單獨(dú)創(chuàng)建的 Vue 實(shí)例 (包括第三方組件)。大多數(shù)情況下,只應(yīng)當(dāng)應(yīng)用于自定義選項(xiàng)

 

責(zé)任編輯:姜華 來源: 前端有的玩
相關(guān)推薦

2020-03-18 14:20:25

shellLinux命令

2020-11-03 14:56:09

手機(jī)安全信息泄露漏洞

2020-07-13 07:48:29

瀏覽器谷歌搜索

2022-11-16 09:04:36

SQL查詢SELECT

2020-10-28 11:20:55

vue項(xiàng)目技

2020-10-29 10:43:24

網(wǎng)絡(luò)安全支付寶電子錢包

2021-01-08 17:18:35

前端vuevue.js

2021-03-12 16:25:17

技巧vue頁面刷新

2018-11-13 15:50:41

干貨Java源碼

2020-11-09 07:29:12

ReentrantLo源碼公平鎖

2021-07-14 23:57:26

Vue高級技巧

2020-07-22 15:15:28

Vue前端代碼

2019-03-12 11:06:47

iOS 12AppleiPhone

2021-05-26 08:21:43

@Autowired項(xiàng)目@Resouce

2020-01-18 11:13:08

CPU程序存儲

2009-10-09 14:45:00

ccna小技巧ccna

2018-02-02 11:36:25

2021-10-25 14:55:38

Linux技巧命令

2015-06-24 10:02:09

Apple Watch設(shè)計(jì)

2022-01-18 10:15:18

Vue性能優(yōu)化前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

小嫩嫩12欧美| 深夜在线视频| 国产福利一区二区三区| 久久久影视精品| 久久久久久九九九九九| 疯狂欧洲av久久成人av电影| 亚洲愉拍自拍另类高清精品| 欧美一区二区三区四区在线观看地址 | 国产一区二区不卡视频| 不卡av电影在线| 女人色偷偷aa久久天堂| 国产丝袜一区二区三区| 亚洲精品成人在线播放| 超碰高清在线| 中文字幕一区二区三区精华液| 日韩女优在线播放| 中文字幕av免费在线观看| 亚洲资源在线| 日韩欧美在线看| 久久精品在线免费视频| 国产在线视频福利| 成人av电影在线网| 92福利视频午夜1000合集在线观看| 中文字幕无码日韩专区免费| 欧美激情影院| 91精品免费观看| 一级特黄性色生活片| 超级碰碰不卡在线视频| 国产精品国产馆在线真实露脸| 91精品免费久久久久久久久| 国产精品人人人人| 免费av一区二区三区四区| 日韩一区二区三区四区| www.亚洲高清| 欧洲亚洲两性| 精品久久久久久久久久久| 久久久久久久免费视频| 日韩成人影视| 国产午夜久久久久| 久久亚裔精品欧美| 国产91麻豆视频| 国产精品亚洲人在线观看| 国产精品久久久久久久久免费看| 肉色超薄丝袜脚交69xx图片| 日韩精品成人在线观看| 天天色综合天天| av一区二区三区免费观看| 国产精品久久一区二区三区不卡 | 亚洲一区在线电影| ijzzijzzij亚洲大全| 日本在线免费网| 国产精品久久久久久久久搜平片 | 亚洲AV无码成人片在线观看| 黑人精品欧美一区二区蜜桃| 国产精品com| 在线免费一区二区| 日韩成人伦理电影在线观看| 国产精品aaaa| 五月婷婷丁香在线| 人人精品人人爱| 国产精选久久久久久| 国产又黄又粗又长| 狠狠色狠狠色合久久伊人| 成人美女免费网站视频| 国产乱码一区二区| 国产电影精品久久禁18| 成人自拍网站| 天天综合网在线观看| 99re成人在线| 日韩精品欧美在线| 91最新在线| 亚洲婷婷综合久久一本伊一区| 精品一区二区三区免费毛片| 国产美女免费看| 国产福利不卡视频| 精品人伦一区二区三区| 亚洲aaaaaaa| 国产视频911| 2025韩国大尺度电影| 日本资源在线| 色婷婷精品大在线视频| 日本一二区免费| 99re8这里有精品热视频免费 | 亚洲最大的免费视频网站| 91精品国产综合久久久久久久 | 欧美a级一区二区| 成人激情在线播放| 可以免费观看的毛片| 国产精品综合av一区二区国产馆| 国产精品大陆在线观看| 国产精品毛片一区视频播 | 国产成人久久777777| 麻豆福利在线观看| 天天色天天操综合| 五月婷婷六月丁香激情| 国产经典一区| 欧美不卡一区二区三区| 无码人妻精品一区二区三应用大全| 91在线一区| 亚洲午夜女主播在线直播| 国产老头老太做爰视频| 国产视频一区三区| 69影院欧美专区视频| 91麻豆国产在线| 久久91精品国产91久久小草| 国产乱码精品一区二区三区卡| 肥臀熟女一区二区三区| 久久美女艺术照精彩视频福利播放| 久久偷窥视频| h视频在线免费观看| 黑人巨大精品欧美一区二区一视频 | 国产精品大片免费观看| 国产精品成人一区二区三区吃奶| 中文字幕人妻精品一区| 另类中文字幕网| 96pao国产成视频永久免费| 一级做a爱片性色毛片| av网站免费线看精品| 中国成人亚色综合网站| 惠美惠精品网| 亚洲成av人片在线观看香蕉| 永久免费未视频| 欧美精品一卡| 国产精品偷伦免费视频观看的| 91麻豆一区二区| 久久久精品国产99久久精品芒果 | 欧美性猛交xxxx乱大交蜜桃| 国产资源中文字幕| 日韩精品诱惑一区?区三区| 97成人在线视频| 亚洲欧美另类综合| 亚洲天堂精品视频| 中文字幕国内自拍| 欧美日韩爱爱| 热久久美女精品天天吊色| 国精品人妻无码一区二区三区喝尿| 99久久伊人精品| 国产aaa免费视频| 亚洲日本网址| 亚洲人精选亚洲人成在线| 亚洲视频免费播放| 成人午夜碰碰视频| 久久亚洲a v| 一区二区三区欧洲区| 亚洲美女www午夜| 国产成人一级片| 韩国欧美一区二区| 国产精品波多野结衣| 国产69精品久久久久按摩| 在线观看精品国产视频| 成人免费毛片视频| 久久久无码精品亚洲日韩按摩| 水蜜桃在线免费观看| 亚洲日韩中文字幕一区| 久久手机免费视频| 91 中文字幕| 久久综合狠狠综合| 亚洲 高清 成人 动漫| 国产精品1区| 欧美成人一区二区三区电影| 99精品在线视频观看| 亚洲精品久久久蜜桃| 亚洲熟妇一区二区| 91欧美在线| 日韩av手机在线看| 成人性爱视频在线观看| 亚洲成人自拍一区| 国产三级国产精品| 日韩福利视频导航| 伊人天天久久大香线蕉av色| 国产麻豆精品| 久久久亚洲成人| 国产色综合视频| 亚洲一区中文在线| 欧美bbbbb性bbbbb视频| 日韩va亚洲va欧美va久久| 精品国产aⅴ麻豆| 小黄鸭精品aⅴ导航网站入口| 亚洲缚视频在线观看| 亚洲欧美另类在线视频| 亚洲欧洲99久久| 岛国精品资源网站| 秋霞成人午夜伦在线观看| 三年中国中文在线观看免费播放| 本网站久久精品| 欧美成人午夜激情视频| 五月天婷婷视频| 欧美日韩在线精品一区二区三区激情| 亚洲国产天堂av| 激情五月婷婷综合网| 久久国产精品网| 精品一级毛片| 成人免费看片网址| 伊人久久视频| 欧美成人午夜激情| 国产尤物视频在线| 精品日韩一区二区| 久久久蜜桃一区二区| 久久综合久久鬼色| 九九热视频免费| 久久最新视频| 天堂资源在线亚洲资源| 亚洲国产一区二区三区网站| 日韩av成人在线| 色婷婷视频在线观看| 亚洲午夜久久久影院| 丰满熟女人妻一区二区三 | 亚洲av无码一区二区三区观看 | 国产精品乱码一区二区三区软件 | 国产黄色91视频| 成人三级视频在线播放| 国产精品一区二区av交换| 国产精品都在这里| 岛国av在线网站| 欧美日本在线视频中文字字幕| 性生活三级视频| 欧美日韩免费不卡视频一区二区三区 | 91高清视频免费| 在线欧美三级| 永久555www成人免费| 国产又粗又猛又黄又爽无遮挡| 亚洲色图欧洲色图| 91网站免费视频| 久久99精品久久久| 精品久久久久久无码国产| 激情久久久久| 大片在线观看网站免费收看| av在线不卡顿| 欧美日韩精品久久| 日韩丝袜视频| 国产在线精品一区| 亚洲精品555| 国产99久久精品一区二区永久免费| 丝袜美腿美女被狂躁在线观看| 日韩视频中午一区| 男人的天堂一区二区| 亚洲综合激情网| 欧美极品aaaaabbbbb| 亚洲欧美激情视频在线观看一区二区三区 | a级日韩大片| 91系列在线播放| 亚洲精品tv| 国产日韩在线观看av| av老司机在线观看| 欧美精品videossex88| 国产69精品久久app免费版| 日韩一区二区三区三四区视频在线观看 | 国产黑丝一区二区| 成人网男人的天堂| 国产日韩视频一区| 福利电影一区二区| 精品1卡二卡三卡四卡老狼| 粉嫩av一区二区三区粉嫩| 自拍视频第一页| 成人午夜激情视频| 黄色国产在线观看| 久久精品无码一区二区三区| 精品人妻一区二区三区香蕉| 久久久九九九九| 黄大色黄女片18免费| caoporm超碰国产精品| 欧美大片免费播放器| 久久综合国产精品| 人成免费在线视频| 亚洲丝袜精品丝袜在线| 国模无码国产精品视频| 亚洲成国产人片在线观看| 永久免费看片直接| 亚洲在线一区二区三区| 日韩aaaaaa| 日本道在线观看一区二区| 中文字幕一二区| 91精品国产欧美一区二区18 | 日韩不卡一区二区三区| av在线网址导航| 成人一区二区三区视频在线观看| aaaaaaaa毛片| 毛片基地黄久久久久久天堂| www,av在线| 91在线云播放| 午夜精品一区二区三级视频| 日本一二三不卡| 午夜少妇久久久久久久久| 精品欧美国产一区二区三区| 最近中文字幕av| 欧美性猛交xxxx免费看久久久| 日本一二三区不卡| 色丁香久综合在线久综合在线观看| 国产乱国产乱老熟| 欧美日本一区二区| 91精品国产乱码久久久| 日韩精品专区在线影院观看 | 国产999精品久久| 女同性αv亚洲女同志| 91麻豆免费看| 男人的天堂久久久| 色8久久人人97超碰香蕉987| 99久久精品国产一区色| 精品亚洲国产视频| av毛片在线| 国产精品国产亚洲伊人久久| 午夜av成人| 国产一区免费在线观看| 97精品国产| 情侣黄网站免费看| 国产精品夜夜嗨| 少妇高潮惨叫久久久久| 欧美日韩激情美女| 亚洲av无码一区二区三区dv| 精品美女被调教视频大全网站| 国产成人无码www免费视频播放| 亚洲精品久久久久中文字幕二区| 天堂在线一二区| 欧美日韩国产91| 亚洲我射av| 亚洲精品第一区二区三区| 先锋亚洲精品| 白嫩情侣偷拍呻吟刺激| 亚洲三级在线播放| 性色av一区二区三区四区| 亚洲欧美成人网| av人人综合网| 国产精品麻豆免费版| 午夜日韩av| 无码国产精品一区二区高潮| 国产精品久久久久影视| 波多野结衣一二区| 精品视频—区二区三区免费| 二区在线观看| 日本sm极度另类视频| 日本午夜精品久久久久| 欧洲亚洲一区| 日本免费在线视频不卡一不卡二| 成人免费黄色av| 亚洲欧美日本在线| 国内精品久久久久久久久久 | 国产成人精品电影| 电影一区中文字幕| 亚洲欧美在线网| 蜜臀av性久久久久蜜臀aⅴ| 在哪里可以看毛片| 色欧美日韩亚洲| 国产视频福利在线| 国产成人亚洲综合青青| 精品久久久亚洲| 天天干天天干天天干天天干天天干| 国产精品一卡二| 欧美日韩综合一区二区| 欧美电视剧在线看免费| wwwwxxxx在线观看| 激情五月综合色婷婷一区二区 | 久久国产亚洲精品无码| jlzzjlzz亚洲日本少妇| www.97视频| 欧美一区二区视频在线观看2020| 精品欧美不卡一区二区在线观看 | 精品一二三四区| 免费三级在线观看| 欧美一级二级在线观看| 日本高清成人vr专区| 国产精品美女999| 97精品一区| 韩国三级视频在线观看| 亚洲www啪成人一区二区麻豆| 97人妻人人澡人人爽人人精品 | 在线观看日韩精品视频| 欧美性20hd另类| yw在线观看| 亚洲自拍偷拍视频| 国色天香一区二区| 女人被狂躁c到高潮| 欧美日韩免费观看一区三区| 中文在线免费| 久久av一区二区三区亚洲| 日韩黄色免费电影| 中文国语毛片高清视频| 欧美成人性战久久| 黄色网在线看| 国产精品免费区二区三区观看 | 欧美久久久精品| 欧美男男freegayvideosroom| 嫩草影院中文字幕| av中文字幕在线不卡| 人妻中文字幕一区二区三区| 久久综合88中文色鬼| 国产精品一区二区三区美女| 无码无遮挡又大又爽又黄的视频| 久久品道一品道久久精品| 亚洲图片在线播放| 97视频在线观看成人| 麻豆精品av| 奇米视频7777| 精品久久久视频| 黄色免费网站在线观看| 精品中文字幕人| 国产一区二区三区日韩| 国产成人精品777777| 九九热精品视频| 成人羞羞动漫| 日韩av卡一卡二|