精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

不卡毛片在线看| 欧美日韩亚洲精品一区二区三区 | 色姑娘综合av| 91黄色在线视频| 激情亚洲成人| 亚洲午夜未满十八勿入免费观看全集| 国产免费中文字幕| 悠悠资源网亚洲青| 亚洲男人天堂av| 青青草成人网| 欧美一级淫片aaaaaa| 日本欧美加勒比视频| 久久久中文字幕| 男人的午夜天堂| 免费看av成人| 精品卡一卡二卡三卡四在线| 亚洲人成无码www久久久| 羞羞的视频在线观看| 久久天天做天天爱综合色| 99re国产视频| 91麻豆成人精品国产免费网站| 国产一区二区三区的电影| 欧美日韩第一视频| 国产91在线播放九色| 欧美人体视频| 精品久久久久久无| av在线免费观看不卡| 成人在线高清| 在线观看不卡一区| 国产a级一级片| 女人黄色免费在线观看| 亚洲欧美日韩精品久久久久| 亚洲成人第一| 黄色大片在线看| 91丨九色porny丨蝌蚪| 成人av资源| www.四虎在线观看| 国产综合久久久久影院| 国产一区二中文字幕在线看| 性高潮视频在线观看| 久久婷婷一区| 欧美一级成年大片在线观看| 日韩精品久久久久久久| 激情欧美一区| 98视频在线噜噜噜国产| 在线观看 中文字幕| 野战少妇38p| 亚洲色图 校园春色| 国产成人自拍在线| 国产亚洲欧美日韩在线一区| 国产91aaa| 亚洲第一天堂网| 高清不卡在线观看| 国产精品麻豆免费版| 亚洲国产中文字幕在线| 国产黄色91视频| 91视频网页| 亚洲免费国产视频| a在线欧美一区| 久久草视频在线看| 国产色a在线| 中文字幕不卡一区| 精品少妇人妻av一区二区| 精精国产xxxx视频在线| 亚洲美女免费在线| 欧美高清中文字幕| 五月天av在线| 色美美综合视频| gai在线观看免费高清| 国产激情精品一区二区三区| 日韩视频在线观看一区二区| 色哟哟视频在线| 伊人久久大香线蕉综合网站 | 好吊色一区二区三区| 成人午夜伦理影院| 欧美亚洲爱爱另类综合| 麻豆视频在线| 五月天网站亚洲| 99精品视频播放| 精品乱码一区二区三区四区| 欧美一区二区视频在线观看2020| 午夜视频在线免费看| 丝袜美腿综合| 久久天天躁狠狠躁夜夜av| 国产精品suv一区二区69| 久久只有精品| 亚洲一区亚洲二区亚洲三区| 天天干天天摸天天操| 亚洲国产高清在线观看视频| 性高湖久久久久久久久aaaaa| 中文在线最新版地址| 91.com视频| 中文字幕一区二区久久人妻网站 | 3d动漫一区二区三区| 成人高清一区| 欧美精品一区视频| 手机看片日韩av| 国产一区二区三区自拍| 国产精品久久97| 欧美综合视频在线| 亚洲欧洲日韩综合一区二区| 91九色在线观看视频| 电影一区中文字幕| 亚洲视频一区二区三区| 国产一级久久久| 久久成人免费日本黄色| 久久久久一区二区三区| 亚洲婷婷噜噜| 精品视频在线看| 日韩精品卡通动漫网站| 欧美激情综合| 成人a视频在线观看| 日本一区高清| 五月激情综合婷婷| 少妇极品熟妇人妻无码| 国产精品成人a在线观看| 日本精品久久久| 亚洲黄色a级片| 亚洲视频小说图片| 国产成人黄色网址| 奇米狠狠一区二区三区| 韩国三级电影久久久久久| 99精品视频在线播放免费| 国产精品女上位| 日韩中文字幕免费在线| 美女精品一区最新中文字幕一区二区三区 | 日韩国产精品久久| 欧美二区三区在线| 日韩av影片| 亚洲精品国产美女| 日韩黄色在线视频| 成人综合在线观看| 国产精品无码电影在线观看| 精品国产麻豆| 久久久精品在线观看| 影音先锋黄色网址| 国产精品久久国产精麻豆99网站| av无码精品一区二区三区| 久久av中文| 国产精品444| 二区三区在线| 欧美日韩免费一区二区三区| 日本高清黄色片| 免费精品视频在线| 亚洲一区二区精品在线| 涩涩涩久久久成人精品| www.亚洲免费视频| 国产精品久久久久久免费免熟| 亚洲欧美在线aaa| 亚洲欧美日韩网站| 欧美深夜福利| 狠狠色狠狠色综合人人| 范冰冰一级做a爰片久久毛片| 亚洲欧美日韩图片| 一区二区三区在线免费观看视频| 国产女主播在线一区二区| 国内自拍视频网| 亚洲国产成人精品女人| av日韩中文字幕| 国产福利片在线观看| 亚洲欧美激情四射在线日| 日本妇乱大交xxxxx| 国产精品久久久久aaaa樱花 | 国产午夜三级一区二区三| 男女啪啪网站视频| 在线观看日韩| 国产女人水真多18毛片18精品| 理论片午夜视频在线观看| 亚洲色图美腿丝袜| 国产精品探花视频| 亚洲一二三四区| 91久久免费视频| 久久精品国产久精国产爱| av中文字幕av| 伊人久久综合影院| 成人性生交大片免费看视频直播 | 国产精品久久二区| 国产剧情在线| 日韩电影大片中文字幕| 一二三区在线播放| 午夜久久久影院| 国产欧美小视频| 处破女av一区二区| 91国产精品视频在线观看| 欧美黄在线观看| 免费看污久久久| 精品一区二区三区中文字幕| 4p变态网欧美系列| 国产在线观看91| 亚洲欧美精品伊人久久| 精品欧美在线观看| 色婷婷久久久综合中文字幕| 加勒比婷婷色综合久久| 久久久另类综合| 久久人妻少妇嫩草av蜜桃| 日韩国产精品91| 日韩在线一级片| 91成人超碰| 日韩一区二区电影在线观看| 福利电影一区| 91久久精品一区| 欧美三级网址| 97精品视频在线观看| 黄色网在线播放| 亚洲天堂色网站| 日本国产在线观看| 欧美一区二区三区性视频| 亚洲高清视频免费观看| 午夜久久电影网| 久久久久亚洲AV成人| 中文av字幕一区| 免费观看av网站| av电影一区二区| 岛国大片在线免费观看| 麻豆精品视频在线观看| 无码无遮挡又大又爽又黄的视频| 国内精品久久久久久久影视麻豆 | 在线中文字幕-区二区三区四区| 亚洲丝袜在线视频| 日韩福利一区二区| 亚洲第一区中文字幕| 精品久久无码中文字幕| 3d成人动漫网站| 在线免费a视频| 欧洲精品在线观看| 日韩精品成人免费观看视频| 五月婷婷另类国产| 免费毛片一区二区三区| 亚洲精品老司机| 国产精品视频看看| 国产精品欧美精品| 99久久精品久久亚洲精品| 国产精品污网站| 欧美日韩中文字幕视频| 国产视频在线观看一区二区三区| 香蕉网在线播放| 2021中文字幕一区亚洲| 37p粉嫩大胆色噜噜噜| 91捆绑美女网站| 亚洲成人日韩在线| 久久精品视频一区二区| 最新中文字幕av| 国产拍欧美日韩视频二区| 自拍偷拍你懂的| 国产精品国产三级国产普通话蜜臀 | 国产欧美在线视频| 99久久99九九99九九九| 91免费观看网站| 日韩一区二区三区在线看| 豆国产97在线| 欧美日韩一区二区三区在线电影| 九九九久久久| 久久综合亚洲| 樱花www成人免费视频| 亚洲91视频| 野外做受又硬又粗又大视频√| 亚洲另类黄色| 一本久道综合色婷婷五月| 蜜桃传媒麻豆第一区在线观看| 岛国毛片在线播放| 国产成人精品免费网站| 800av在线播放| 久久精品夜夜夜夜久久| 天堂av免费在线| 亚洲图片自拍偷拍| 国产精品视频123| 欧美人牲a欧美精品| 国产偷人妻精品一区二区在线| 欧美成人伊人久久综合网| 午夜影院免费视频| 尤物精品国产第一福利三区| 超碰在线免费公开| 91精品国产色综合久久不卡98口| 韩日精品一区| 99热在线国产| 国产成人精品免费视| 国产精品夜夜夜爽张柏芝| 亚洲三级影院| 成 人 黄 色 小说网站 s色| 国产成人无遮挡在线视频| 91精品人妻一区二区三区蜜桃欧美| 国产精品私房写真福利视频| 国产亚洲自拍av| 欧美优质美女网站| 成人爽a毛片一区二区| 国产一区二区三区丝袜| 人交獸av完整版在线观看| 国产成人欧美在线观看| 视频一区在线| 色噜噜狠狠一区二区三区| 在线成人黄色| 色婷婷一区二区三区av免费看| av网站免费线看精品| www欧美com| 日本精品一级二级| 蜜桃视频久久一区免费观看入口| 色av中文字幕一区| 亚洲风情在线资源| 亚洲最大成人在线| 不卡中文字幕| 亚洲中文字幕无码中文字| 国产精品亚洲人在线观看| 成熟人妻av无码专区| 亚洲成人精品一区| 精品人妻一区二区三区蜜桃| 一本色道久久综合亚洲精品小说| 黄色美女视频在线观看| 成人妇女淫片aaaa视频| 国产免费久久| 精品国产免费av| 懂色av一区二区三区免费看| 可以免费看av的网址| 色成年激情久久综合| 欧美熟女一区二区| 欧美国产日韩一区二区| 不卡精品视频| 亚洲国产精品综合| 日日摸夜夜添夜夜添国产精品| www.美色吧.com| 亚洲女子a中天字幕| 亚洲视频久久久| 亚洲天堂免费在线| 成人性生交大片免费网站| 国产精品日本一区二区| 欧美激情一区| 国产精品果冻传媒| 一区二区在线免费观看| 国产乱码久久久久| 久久精品在线视频| 欧美在线一级| 一区二区三区四区在线视频| 蜜臀av一区二区在线观看| 欧美三级视频网站| 在线一区二区视频| 爱爱爱免费视频在线观看| 国产成人av在线| 国产欧美日韩视频在线| 婷婷六月天在线| 中文乱码免费一区二区| 中文字幕无码乱码人妻日韩精品| 国产亚洲精品久久久| av在线不卡精品| 亚洲日本精品国产第一区| 奇米精品一区二区三区在线观看| 亚洲精品成人av久久| 欧美日韩在线综合| 国产黄色小视频在线| 亚洲一区二区少妇| 国产精品激情| 黄色av网址在线观看| 欧美丝袜美女中出在线| 国产黄色片在线观看| 国产精品视频网站| 小说区亚洲自拍另类图片专区| 两女双腿交缠激烈磨豆腐| 一区二区三区精品久久久| 神马午夜电影一区二区三区在线观看 | 欧美大胆人体bbbb| 超碰在线公开| 日本高清久久一区二区三区| 毛片一区二区三区| 欧美日韩亚洲国产另类| 亚洲精品720p| 国产一区一一区高清不卡| 国风产精品一区二区| 成人av片在线观看| 国产美女www爽爽爽| 精品国偷自产在线视频| 999在线精品| 成年网站在线免费观看| 国产精品美日韩| 国产香蕉在线观看| 国产成人高潮免费观看精品| 久久久久久久久丰满| 国模私拍在线观看| 欧美亚洲动漫另类| 欧美aaaxxxx做受视频| 日本一区二区在线| 国产乱国产乱300精品| 国产精品久久久久久久久久久久久久久久久 | 99re成人精品视频| 夜夜躁狠狠躁日日躁av| 欧美极品少妇xxxxⅹ喷水| 国产一区二区三区91| 妖精视频在线观看| 91国偷自产一区二区开放时间| 超碰个人在线| 欧美日韩无遮挡| 国产精品69久久久久水密桃| 欧美男人亚洲天堂| 欧美激情二区三区| 精品国产美女| 国产精九九网站漫画| 欧美熟乱第一页| 欧亚av在线| 国产专区在线视频| 国产精品视频在线看| 亚洲av激情无码专区在线播放| 91免费国产网站| 日韩vs国产vs欧美|