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

總結vue知識體系之實用技巧

開發 前端
vue 作為目前前端三大框架之一,對于前端開發者可以說是必備技能。那么怎么系統地學習和掌握 vue 呢?為此,我做了簡單的知識體系體系總結。

vue 作為目前前端三大框架之一,對于前端開發者可以說是必備技能。那么怎么系統地學習和掌握 vue 呢?為此,我做了簡單的知識體系體系總結,不足之處請各位大佬多多包涵和指正,如果喜歡的可以點個小贊!本文主要講述一些vue開發中的實用技巧。

監聽組件的生命周期

比如有父組件 Parent 和子組件 Child,如果父組件監聽到子組件掛載 mounted 就做一些邏輯處理,常規的寫法可能如下:

  1.  // Parent.vue 
  2. <Child @mounted="doSomething"/> 
  3.  
  4. // Child.vue 
  5. mounted() { 
  6.   this.$emit("mounted"); 

此外,還有一種特別簡單的方式,子組件不需要任何處理,只需要在父組件引用的時候通過@hook 來監聽即可,代碼如下:

  1. <Child @hook:mounted="doSomething" /> 
  2. <Child @hook:updated="doSomething" /> 

當然這里不僅僅是可以監聽 mounted,其它的生命周期事件,例如:created,updated 等都可以。

watch 的初始立即執行

觀察和響應 Vue 實例上的數據變動。類似于某些數據的監聽回調 ,每當監聽的數據變化時都會執行回調進行后續操作。

但是當 watch 一個變量的時候,初始化時并不會執行,如下面的例子,你需要在 created 的時候手動調用一次。

  1. created() { 
  2.   this.getList(); 
  3. }, 
  4. watch: { 
  5.   keyWord: 'getList', 

上面這樣的做法可以使用,但很麻煩,我們可以添加 immediate 屬性,這樣初始化的時候就會自動觸發(不用再寫 created 去調用了),然后上面的代碼就能簡化為:

  1. watch: { 
  2.   keyWord: { 
  3.     handler: 'getList', 
  4.     immediate: true 
  5.   } 

watch 有三個參數:

  • handler:其值是一個回調函數。即監聽到變化時應該執行的函數
  • deep:其值是 true 或 false;確認是否深入監聽。
  • immediate:其值是 true 或 false,確認是否以當前的初始值執行 handler 的函數

路由參數變化組件不更新

同一path的頁面跳轉時路由參數變化,但是組件沒有對應的更新。

原因:主要是因為獲取參數寫在了created或者mounted路由鉤子函數中,路由參數變化的時候,這個生命周期不會重新執行。

解決方案1:watch監聽路由

  1. watch: { 
  2.  // 方法1 //監聽路由是否變化 
  3.   '$route' (to, from) { 
  4.    if(to.query.id !== from.query.id){ 
  5.             this.id = to.query.id; 
  6.             this.init();//重新加載數據 
  7.         } 
  8.   } 
  9. //方法 2  設置路徑變化時的處理函數 
  10. watch: { 
  11. '$route': { 
  12.     handler: 'init', 
  13.     immediate: true 
  14.   } 

解決方案2 :為了實現這樣的效果可以給router-view添加一個不同的key,這樣即使是公用組件,只要url變化了,就一定會重新創建這個組件。

  1. <router-view :key="$route.fullpath"></router-view> 

路由懶加載

Vue 項目中實現路由按需加載(路由懶加載)的 3 中方式:

  1. // 1、Vue異步組件技術: 
  2.  { 
  3.     path: '/home', 
  4.     name: 'Home', 
  5.     component: resolve => reqire(['path路徑'], resolve) 
  6.   } 
  7.  
  8. // 2、es6提案的import() 
  9.   const Home = () => import('path路徑') 
  10.  
  11. // 3、webpack提供的require.ensure() 
  12.   { 
  13.      path: '/home', 
  14.      name: 'Home', 
  15.      component: r => require.ensure([],() =>  r(require('path路徑')), 'demo') 
  16.     } 

require.context()

require.context(directory,useSubdirectories,regExp)

  • directory:說明需要檢索的目錄
  • useSubdirectories:是否檢索子目錄
  • regExp:匹配文件的正則表達式,一般是文件名

場景:如頁面需要導入多個組件,原始寫法:

  1. import titleCom from '@/components/home/titleCom' 
  2. import bannerCom from '@/components/home/bannerCom' 
  3. import cellCom from '@/components/home/cellCom' 
  4. components: { 
  5.   titleCom, bannerCom, cellCom 

這樣就寫了大量重復的代碼,利用 require.context 可以寫成

  1. const path = require('path') 
  2. const files = require.context('@/components/home', false, /\.vue$/) 
  3. const modules = {} 
  4. files.keys().forEach(key => { 
  5.   const name = path.basename(key, '.vue') 
  6.   modules[name] = files(key).default || files(key) 
  7. }) 
  8. components: modules 

遞歸組件

遞歸組件: 組件在它的模板內可以遞歸的調用自己,只要給組件設置 name 組件就可以了。

不過需要注意的是,必須給一個條件來限制數量,否則會拋出錯誤: max stack size exceeded

組件遞歸用來開發一些具體有未知層級關系的獨立組件。比如:聯級選擇器和樹形控件

  1. <template> 
  2.   <div v-for="(item,index) in treeArr"> {{index}} <br/> 
  3.       <tree :item="item.arr" v-if="item.flag"></tree> 
  4.   </div> 
  5. </template> 
  6. <script> 
  7. export default { 
  8.   // 必須定義name,組件內部才能遞歸調用 
  9.   name: 'tree', 
  10.   data(){ 
  11.     return {} 
  12.   }, 
  13.   // 接收外部傳入的值 
  14.   props: { 
  15.      item: { 
  16.       type:Array, 
  17.       default: ()=>[] 
  18.     } 
  19.   } 
  20. </script> 

 

清除定時器或者事件監聽

由于項目中有些頁面難免會碰到需要定時器或者事件監聽。但是在離開當前頁面的時候,定時器如果不及時合理地清除,會造成業務邏輯混亂甚至應用卡死的情況,這個時就需要清除定時器事件監聽,即在頁面卸載(關閉)的生命周期函數里,清除定時器。

  1. methods:{ 
  2.   resizeFun () { 
  3.     this.tableHeight = window.innerHeight - document.getElementById('table').offsetTop - 128 
  4.   }, 
  5.   setTimer() { 
  6.     this.timer = setInterval(() => { }) 
  7.   }, 
  8.   clearTimer() {//清除定時器 
  9.         clearInterval(this.timer) 
  10.     this.timer = null 
  11.     } 
  12. }, 
  13. mounted() { 
  14.   this.setTimer() 
  15.   window.addEventListener('resize', this.resizeFun) 
  16. }, 
  17. beforeDestroy() { 
  18.   window.removeEventListener('resize', this.resizeFun) 
  19.   this.clearTimer() 

自定義路徑別名

我們也可以在基礎配置文件中添加自己的路徑別名

  1. resolve: { 
  2.     extensions: ['.js', '.vue', '.json'], 
  3.     alias: { 
  4.       'vue$': 'vue/dist/vue.esm.js', 
  5.       '@': resolve('src'), 
  6.       'assets': resolve('src/assets') 
  7.     } 
  8.   } 

然后我們導入組件的時候就可以這樣寫:

  1. // import YourComponent from '/src/assets/YourComponent' 
  2. import YourComponent from 'assets/YourComponent' 

這樣既解決了路徑過長的麻煩,又解決了相對路徑的煩惱。

動態給修改dom的樣式

原因:因為我們在寫.vue文件中的樣式都會追加scoped。這樣針對模板dom中的樣式就可以生效,但其生效后的最終樣式并不是我們寫的樣式名,而是編碼后的。比如:

  1. <template> 
  2.   <div class="box">dom</div> 
  3. </template> 
  4. <style lang="scss" scoped> 
  5.   .box { 
  6.     background: red; 
  7.   } 
  8. </style> 

 

vue 將代碼轉譯成如下,所以我們在js中拼接上的dom結構樣式并不會生效。

  1. .box[data-v-11c6864c]{ background:red; } 
  2. <template> 
  3.   <div class="box" data-v-11c6864c>dom</div> 
  4. </template> 

 

解決方法:將要改變的樣式寫在非scoped樣式標簽中。

長列表性能優化

我們應該都知道 vue 會通過 object.defineProperty 對數據進行劫持,來實現視圖響應數據的變化,然而有些時候我們的組件就是純粹的數據展示,不會有任何改變,我們就不需要 vue 來劫持我們的數據,在大量數據展示的情況下,這能夠很明顯的減少組件初始化的時間。

所以,我們可以通過 object.freeze 方法來凍結一個對象,這個對象一旦被凍結,vue就不會對數據進行劫持了。

  1. export default { 
  2.   data: () => ({ 
  3.     list: [] 
  4.   }), 
  5.   async created() { 
  6.     const list = await axios.get('xxxx') 
  7.     this.list = Object.freeze(list) 
  8.   }, 
  9.   methods: { 
  10.     // 此處做的操作都不能改變list的值 
  11.   } 

另外需要說明的是,這里只是凍結了 list 的值,引用不會被凍結,當我們需要 reactive 數據的時候,我們可以重新給 list 賦值。

內容分發(slot)

插槽 slot,也是組件的一塊 HTML 模板,這一塊模板顯示不顯示、以及怎樣顯示由父組件來決定。實際上,一個 slot 最核心的兩個問題在這里就點出來了,是顯示不顯示和怎樣顯示。

默認插槽

又名單個插槽、匿名插槽,這類插槽沒有具體名字,一個組件只能有一個該類插槽。

  1. <!-- 父組件 parent.vue --> 
  2. <template> 
  3.   <div class="parent"> 
  4.     <h1>父容器</h1> 
  5.     <child> 
  6.       <div class="tmpl"> 
  7.         <span>菜單1</span> 
  8.       </div> 
  9.     </child> 
  10.   </div> 
  11. </template> 
  12.  
  13. <!-- 子組件 child.vue --> 
  14. <template> 
  15.   <div class="child"> 
  16.     <h1>子組件</h1> 
  17.     <slot></slot> 
  18.   </div> 
  19. </template> 

具名插槽

匿名插槽沒有 name 屬性,所以叫匿名插槽。那么,插槽加了 name 屬性,就變成了具名插槽。具名插槽可以在一個組件中出現 N 次,出現在不同的位置,只需要使用不同的 name 屬性區分即可。

  1. <!-- 父組件 parent.vue --> 
  2. <template> 
  3.   <div class="parent"> 
  4.     <h1>父容器</h1> 
  5.     <child> 
  6.       <div class="tmpl" slot="up"> 
  7.         <span>菜單up-1</span> 
  8.       </div> 
  9.       <div class="tmpl" slot="down"> 
  10.         <span>菜單down-1</span> 
  11.       </div> 
  12.       <div class="tmpl"> 
  13.         <span>菜單->1</span> 
  14.       </div> 
  15.     </child> 
  16.   </div> 
  17. </template> 
  18.  
  19. <!-- 子組件 child.vue --> 
  20. <template> 
  21.   <div class="child"> 
  22.     <!-- 具名插槽 --> 
  23.     <slot name="up"></slot> 
  24.     <h3>這里是子組件</h3> 
  25.     <!-- 具名插槽 --> 
  26.     <slot name="down"></slot> 
  27.     <!-- 匿名插槽 --> 
  28.     <slot></slot> 
  29.   </div> 
  30. </template> 

作用域插槽

作用域插槽可以是默認插槽,也可以是具名插槽,不一樣的地方是,作用域插槽可以為 slot 標簽綁定數據,讓其父組件可以獲取到子組件的數據。

  1. <!-- parent.vue --> 
  2. <template> 
  3.   <div class="parent"> 
  4.     <h1>這是父組件</h1> 
  5.     <child 
  6.       >> 
  7.       <template slot="default" slot-scope="slotProps"> 
  8.         {{ slotProps.user.name }} 
  9.       </template> </child 
  10.     >> 
  11.   </div> 
  12. </template> 
  13.  
  14. <!-- 子組件 child.vue --> 
  15. <template> 
  16.   <div class="child"> 
  17.     <h1>這是子組件</h1> 
  18.     <slot :user="user"></slot> 
  19.   </div> 
  20. </template> 
  21. <script> 
  22.   export default { 
  23.     data() { 
  24.       return { 
  25.         user: { 
  26.           name: '小趙' 
  27.         } 
  28.       } 
  29.     } 
  30.   } 
  31. </script> 

 

 

責任編輯:趙寧寧 來源: 前端先鋒隊
相關推薦

2024-03-28 08:15:09

Spring技巧配置

2009-12-21 15:50:39

2009-09-04 10:27:28

Linux實用技巧linux操作系統linux

2022-03-23 09:18:10

Git技巧Linux

2015-07-16 10:15:44

web前端知識體系

2015-07-28 17:52:36

IOS知識體系

2019-09-06 08:35:03

TCPIP算法

2009-01-03 09:34:30

ASP.NET.NET性能優化

2022-10-11 08:00:47

多線程開發技巧

2024-05-17 08:52:43

SQL實用技巧行列轉換

2011-04-08 15:40:01

Oracle認證

2022-11-03 10:28:59

PandasSAC機制

2011-08-11 22:35:58

投影機常見問題

2017-06-22 13:07:21

2012-03-08 11:13:23

企業架構

2017-04-03 15:35:13

知識體系架構

2017-02-27 16:42:23

Spark識體系

2019-10-10 16:31:51

PyCharmPythonWindows

2009-12-23 17:32:35

Linux構建軟路由

2010-09-14 10:41:24

DIV+CSS排版
點贊
收藏

51CTO技術棧公眾號

亚洲一级特黄| 免费高潮视频95在线观看网站| 日本免费新一区视频| 色哟哟入口国产精品| 999热精品视频| 天堂电影一区| 综合网在线视频| 久久精品国产第一区二区三区最新章节 | 成人黄视频在线观看| 粉嫩欧美一区二区三区高清影视| 日本伊人精品一区二区三区介绍 | 久久久人成影片免费观看| 精品久久久久久久久久久久久久久 | 精品国产一区二区三区四区精华| 波多野结衣爱爱| 国内精品美女在线观看| 国产亚洲精品一区二区| 最新国产精品自拍| 久久亚洲精品中文字幕| 欧美日韩黄色大片| 国产91沈先生在线播放| 91高清在线视频| 久久综合色婷婷| 成人18视频| 一级黄色a毛片| 久久av一区| 国内久久久精品| 五月天婷婷色综合| 日韩免费高清| 亚洲人成网站777色婷婷| 国产69视频在线观看| 精品视频成人| 欧美日韩美女一区二区| 免费日韩视频在线观看| a级片免费在线观看| 亚洲人亚洲人成电影网站色| 日韩欧美在线一区二区| 在线观看xxx| 成人18精品视频| 制服.丝袜.亚洲.另类.中文| www国产91| 国内精品久久99人妻无码| 欧美h版在线观看| 欧美日韩的一区二区| 国产熟人av一二三区| 涩涩在线视频| 欧美日在线观看| 每日在线更新av| 免费在线小视频| 精品福利免费观看| 131美女爱做视频| 精品丝袜在线| 欧美视频二区36p| 91黄色小网站| 亚洲一区二区三区四区| 色天天综合久久久久综合片| 欧美 国产 小说 另类| 国产拍在线视频| 黄色成人av在线| 国产精品无码专区av在线播放| 中文字幕在线直播| 欧美日韩一区二区免费在线观看| 国产精品视频一区二区三区四区五区| 中文在线中文资源| 色综合亚洲欧洲| 欧洲熟妇精品视频| 日韩成人在线电影| 日韩一级高清毛片| 日本久久久久久久久久| 国产精品主播在线观看| 日韩成人黄色av| 中文字幕免费高清| 久久久影院免费| 美女啪啪无遮挡免费久久网站| 欧美日韩免费做爰视频| 在线日韩视频| 国产精品白嫩美女在线观看| 一区二区三区黄| 国产91精品久久久久久久网曝门| 亚洲欧洲激情在线| 欧美在线www| 久久免费公开视频| 国产亚洲高清视频| 国产精品福利无圣光在线一区| 一区二区乱子伦在线播放| 狠狠久久亚洲欧美| 国产手机精品在线| 成人77777| 一区二区三区在线高清| 国产午夜伦鲁鲁| 欧美成人高清视频在线观看| 日韩免费观看高清完整版| 久久亚洲AV成人无码国产野外| 第一会所亚洲原创| 欧美疯狂xxxx大交乱88av| av一级在线观看| 国产精品综合在线视频| 欧美日韩亚洲免费| 99自拍视频在线观看| 欧美性生交xxxxx久久久| 亚洲欧美日本一区二区三区| 国产亚洲成av人片在线观黄桃| 一本一道久久a久久精品逆3p| 青青草手机视频在线观看| 麻豆精品网站| 99国产超薄肉色丝袜交足的后果| 黄色片在线免费看| 亚洲v日本v欧美v久久精品| 少妇一级淫免费播放| 国产精品毛片久久久| 中文字幕欧美日韩| 毛片视频网站在线观看| 国产伦精一区二区三区| 日韩福利二区| av手机免费在线观看| 欧美日韩高清一区| 免费看黄色aaaaaa 片| 综合五月婷婷| 成人国产精品久久久| 免费一级毛片在线观看| 亚洲二区在线观看| 久久久精品视频国产| 日韩av二区| 日本不卡免费高清视频| 蜜桃视频污在线观看| 亚洲人成网站精品片在线观看| 任你操这里只有精品| 精品精品国产毛片在线看| 天天做天天爱天天爽综合网| 久久成人一区二区| 中文字幕在线观看你懂的| 久久在线观看免费| www.爱色av.com| 久久悠悠精品综合网| 九九九久久久久久| 国产国语亲子伦亲子| 亚洲色图.com| 免费成年人高清视频| 成人高清电影网站| 日韩**中文字幕毛片| 亚洲欧洲综合在线| 激情成人在线视频| 2一3sex性hd| 亚洲韩日在线| 精品九九九九| 性欧美xxx69hd高清| 日韩精品视频中文在线观看 | 国产高清欧美| 国产美女直播视频一区| 在线看免费av| 欧美三级蜜桃2在线观看| 国产高清在线不卡| 在线观看免费中文字幕| 欧美极品aⅴ影院| 一区二区三区视频在线观看免费| 九色精品91| 国产成人精品一区| 成人福利在线| 欧美日韩国产免费一区二区| 亚洲aaa视频| 免费成人性网站| 亚洲第一精品区| 超碰国产精品一区二页| 国产日韩中文在线中文字幕| 亚洲激情免费观看| av网站中文字幕| 国产欧美视频在线观看| 日韩在线不卡一区| 欧美在线高清| 精品国产乱码久久久久久久软件| 夜鲁夜鲁夜鲁视频在线播放| 国产一区二区三区视频 | 555www色欧美视频| 欧美黄色一级网站| av毛片久久久久**hd| 日本男人操女人| 重囗味另类老妇506070| 激情视频一区二区| 播放一区二区| 九九热精品在线| 偷拍精品一区二区三区| 欧美视频精品在线观看| 九九热精彩视频| 久久在线观看免费| 九九九九九伊人| 一区二区三区四区五区在线| 一本一本a久久| 久久人人爽人人爽人人片av不| 秋霞成人午夜鲁丝一区二区三区| av成人手机在线| 亚洲成人性视频| 一级片aaaa| 精品久久久久久久久中文字幕| 亚洲ⅴ国产v天堂a无码二区| 国产电影精品久久禁18| 无码人妻丰满熟妇区毛片18| 在线观看日韩| 日韩啊v在线| 91成人短视频| 91精品久久久久久| 欧洲亚洲两性| 欧美大片欧美激情性色a∨久久| 天堂а√在线8种子蜜桃视频 | 国产成人精品免费久久久久 | 亚洲在线观看免费视频| 亚洲理论片在线观看| 国产成人精品午夜视频免费| 欧美国产日韩在线播放| 成人影院免费观看| 国产成人精品三级| 91淫黄看大片| 亚洲夜间福利| 在线观看视频黄色| 禁断一区二区三区在线| 国产精品欧美久久| 超碰国产精品一区二页| 国产97在线亚洲| heyzo一区| 美女性感视频久久久| 在线免费av电影| 亚洲图片欧洲图片av| 色噜噜在线播放| 欧美mv和日韩mv国产网站| 91精品国产乱码久久| 在线观看亚洲成人| 国产又大又黄又粗| 欧美日韩国产综合新一区| 精品视频一区二区在线观看| 亚洲男女一区二区三区| 日日碰狠狠添天天爽| 日本一区二区高清| 真实乱视频国产免费观看| 97久久超碰精品国产| 少妇极品熟妇人妻无码| 国产一区二区不卡| 成人免费播放视频| 韩国三级中文字幕hd久久精品| 亚洲36d大奶网| 美腿丝袜亚洲三区| 污网站免费在线| 奇米精品一区二区三区在线观看| 日韩av播放器| 乱码第一页成人| 国产欧美高清在线| 日韩中文字幕亚洲一区二区va在线| 国产伦精品一区二区三区四区视频_| 欧美精品播放| 野外做受又硬又粗又大视频√| 国产一区日韩欧美| 欧美一级欧美一级| 国产日韩欧美一区在线| 精品欧美一区免费观看α√| 免费看亚洲片| www日韩在线观看| 看国产成人h片视频| 女人高潮一级片| 国产美女娇喘av呻吟久久| 熟妇无码乱子成人精品| 粉嫩av亚洲一区二区图片| 免费日本黄色网址| 2021国产精品久久精品| 亚洲码无人客一区二区三区| 菠萝蜜一区二区| 欧美一区二区三区视频在线观看| 中文天堂在线播放| 欧美精品日韩精品| 亚洲免费黄色片| 亚洲欧美成人在线| 中文字幕日本在线观看| 久久亚洲精品一区二区| 亚洲综合图区| 青青久久av北条麻妃海外网| 国产精品高潮久久| 91成人免费视频| 天海翼亚洲一区二区三区| 日韩欧美一区二区视频在线播放| 久久久久亚洲| 国产妇女馒头高清泬20p多| 久久亚洲风情| 亚洲在线观看网站| 91在线小视频| 国产精品视频一区二区在线观看| 夜夜嗨av一区二区三区四季av | 极品粉嫩小仙女高潮喷水久久| 国产片一区二区三区| 日韩一区二区不卡视频| 无吗不卡中文字幕| 亚洲一区二区色| 亚洲白拍色综合图区| 国产专区在线播放| 欧美久久久精品| 日韩欧美一区二区三区在线观看| 91美女高潮出水| 欧美美乳视频| 大胆欧美熟妇xx| 日本成人在线视频网站| 久久久久久久穴| 国产精品久久久久久户外露出| 久久免费小视频| 欧美日韩国产一级二级| 天堂a√在线| 久热精品视频在线| 欧美××××黑人××性爽| 丁香五月网久久综合| 欧美亚洲在线日韩| 国产精品裸体瑜伽视频| 狠狠色丁香婷综合久久| 亚洲第一成人网站| 亚洲综合久久久久| 国产精品久久久久久在线| 精品视频中文字幕| 成人免费一区二区三区牛牛| 国产一区二区香蕉| 精品黄色一级片| 国产免费黄色小视频| 国产麻豆精品theporn| 免费黄色在线网址| 欧美性少妇18aaaa视频| 亚洲国产精品毛片| 久久久成人av毛片免费观看| 国产日韩二区| 欧美日韩国产一区精品一区| 一级黄色特级片| 国产欧美一区二区三区在线老狼| 日韩三级av在线| 日韩精品综合一本久道在线视频| 午夜伦全在线观看| 国产精品精品视频一区二区三区| 丝袜连裤袜欧美激情日韩| 国产女主播自拍| 国产精品一卡二卡| 国产性生活大片| 欧美乱熟臀69xxxxxx| 1024视频在线| 国产精品旅馆在线| 美女少妇全过程你懂的久久| 免费欧美一级视频| 久久你懂得1024| 亚洲欧美偷拍视频| 亚洲美女动态图120秒| 蜜桃av在线| 美日韩精品免费| 免费看亚洲片| 亚洲日本精品视频| 欧美亚洲高清一区| 午夜视频在线| 国产在线精品成人一区二区三区| 精品精品久久| 亚洲欧美自偷自拍另类| 国产精品久久国产精麻豆99网站| 国产女优在线播放| 最近2019中文字幕大全第二页| 久久亚洲精品人成综合网| 一区二区精品视频| 国产一区不卡在线| 久久久久久福利| 日韩av在线网站| 美脚恋feet久草欧美| 天堂va久久久噜噜噜久久va| 免费在线视频一区| 五月天激情丁香| 亚洲第一av网| 成人黄色免费短视频| 亚洲精品在线视频观看| 韩国成人在线视频| 成人免费看片98| 精品视频在线播放色网色视频| 全亚洲第一av番号网站| 正在播放久久| 成人午夜激情视频| 超碰超碰超碰超碰| 中文字幕亚洲一区在线观看| 精品午夜视频| 日本少妇高潮喷水视频| 国产欧美综合色| 99久久亚洲精品日本无码| 久久久久久综合网天天| 精品免费av| 中文字幕第10页| 欧美日韩国产丝袜另类| 在线免费观看黄色av| 国产精品果冻传媒潘| 久久久蜜桃一区二区人| 91情侣在线视频| 9999热视频在线观看| 国产精品久久久久久久久久直播| 国产午夜精品一区二区三区欧美| 91精品久久久久久久久久久久| 日韩一区二区在线播放| 中文在线а√在线8| 国产成人精品免费看在线播放| a亚洲天堂av| 国产一区二区小视频| 98精品国产自产在线观看| 日韩精品欧美| 亚洲国产综合视频| 91麻豆精品国产91久久久使用方法| 蜜桃视频在线网站| 伊人久久大香线蕉精品| 91麻豆国产在线观看|