gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

最系統(tǒng)的vue全套教程(詳解及實例)

本篇文章給大家?guī)砹岁P(guān)于vue的全套教程整理,其中帶有實例操作,希望對大家有幫助。

最系統(tǒng)的vue全套教程(詳解及實例)

??Vue (讀音 /vju?/,類似于 View) 是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時,Vue 也完全能夠為復(fù)雜的單頁應(yīng)用提供驅(qū)動。

一、MVVM模式和第一個Vue程序

1.什么是 MVVM

  • 該層向上與視圖層進(jìn)行雙向數(shù)據(jù)綁定
  • 向下與 Model 層通過接口請求進(jìn)行數(shù)據(jù)交互
    最系統(tǒng)的vue全套教程(詳解及實例)
    Vue的安裝方式:

??1.1 使用CDN方法(初學(xué)者使用)
??也可以直接使用CDN的方式引入,代碼如下:

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

??1.2Vue-cli腳手架
??利用Vue-cli 腳手架構(gòu)建Vue項目,在后面第七點詳細(xì)講解。(中大型項目中推薦使用)。

2.第一個Vue程序

?1、創(chuàng)建一個 HTML 文件

?2、引入 Vue.js

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>

完整示例:

<!DOCTYPE html><html><head lang="en">     <meta charset="UTF-8">     <title>貝西說</title>     <!--1.引入vue.js-->     <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script></head><body><!--view視圖-->  <p id="app">      <input type="text" v-model="message"/>      {{message}}  </p>  <script>      var vue=new Vue({         el:"#app",          /*model數(shù)據(jù)*/          data:{              message:"hello,vue"          }      });  </script></body></html>

演示效果:(視圖驅(qū)動數(shù)據(jù),數(shù)據(jù)驅(qū)動視圖)
最系統(tǒng)的vue全套教程(詳解及實例)

二、基礎(chǔ)語法

v-bind

v-bind就是用于綁定數(shù)據(jù)和元素屬性的
完整示例:

<body>     <p class="app">         <a v-bind:href="url">點我</a>     </p>  <script>      var app = new Vue({          el:'.app',          data:{              url:"https://www.baidu.com",          }      });  </script></body>

注意:
? v-bind后面是:屬性名=,我的理解是表示綁定這個屬性,綁定之后,對應(yīng)的值要去vue的數(shù)據(jù)里面找。
? 當(dāng)我們在控制臺改變url時,對應(yīng)也會變化。
相同的,我們還可以綁定圖片src屬性、超鏈接的class

<body>     <p class="app">         <a v-bind:href="url">點我</a>         <img v-bind:src="imgsrc" width="200px"/>     </p>  <script>      var app = new Vue({          el:'.app',          data:{              url:"https://www.baidu.com",              imgsrc:"https://cn.vuejs.org/images/logo.png"          }      });  </script></body>

注意:

<p class="app"> 	  <a v-bind:href="url">點我</a></p>

通常我們可以將v-bind:簡寫成:

<p class="app">         <a :href="url">點我</a></p>

v-if,v-else

v-if,v-else
完整示例:

<body>     <p id="app">         <p v-if="ok">YES</p>         <p v-else>NO</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{                  ok:true,              }          });      </script></body>

v-if,v-else-if,v-else

<body>     <p id="app">         <p v-if="role=='beixi'|| role=='admin'">您好,admin</p>         <p v-else-if="role=='jzj'">賈志杰</p>         <p v-else>您無權(quán)訪問!</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{                  role:"admin",              }          });      </script></body>

v-for

?1、v-for循環(huán)普通數(shù)組

<body>     <p id="app">         <p v-for="(item,index) in list">{{item}}----索引:{{index}}</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{                 list:[1,2,3,4,5],              }          });      </script></body>

?2、v-for循環(huán)對象數(shù)組

<body>     <p id="app">         <p v-for="(user,index) in list">{{user.id}}---{{user.name}}-----索引:{{index}}</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{                 list:[                     {id:1,name:'beixi'},                     {id:2,name:'jzj'},                     {id:3,name:'賈志杰'}                 ],              }          });      </script></body>

?3、v-for循環(huán)對象

<body>     <p id="app">         <p v-for="(val,key,index) in user">值:{{val}}---鍵:{{key}}-----索引:{{index}}</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{                 user:{                     name:"beixi",                     age:"18",                     sex:"男"                 }              }          });      </script></body>

?4、v-for循環(huán)數(shù)字

<body>     <p id="app">         <p v-for="count in 5">這是第{{count}}次循環(huán)</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{ }          });      </script></body>

三、Vue綁定事件

語法:

??v-on:事件名 = “方法名”
??簡寫: @事件名 = “方法名”
??事件名: click|keydown|keyup|mouseover|mouseout|自定義事件名

v-on事件監(jiān)聽,完整示例:

<!DOCTYPE html><html xmlns:v-on="http://www.w3.org/1999/xhtml"><head lang="en">     <meta charset="UTF-8">     <title>貝西說</title>     <!--1.引入vue.js-->     <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script></head><body>     <p id="app">        {{count}}         <button v-on:click="count+=1">點我加1</button>         <button v-on:click="sub">點我減1</button>     </p>      <script>          var app = new Vue({              el:"#app",              data:{count:1 },              methods:{                  sub:function(){                     this.count-=1;                  }              }          });      </script></body></html>

注意:v-bind可以簡寫為 : v-on: 可以簡寫@

四、Vue:表單雙綁、組件

1.什么是雙向數(shù)據(jù)綁定

??Vue.js 是一個 MVVM 框架,即數(shù)據(jù)雙向綁定,即當(dāng)數(shù)據(jù)發(fā)生變化的時候,視圖也就發(fā)生變化,當(dāng)視圖發(fā)生變化的時候,數(shù)據(jù)也會跟著同步變化。這也算是 Vue.js 的精髓之處了。

??值得注意的是,我們所說的數(shù)據(jù)雙向綁定,一定是對于 UI 控件來說的,非 UI 控件不會涉及到數(shù)據(jù)雙向綁定。單向數(shù)據(jù)綁定是使用狀態(tài)管理工具的前提。如果我們使用 vuex,那么數(shù)據(jù)流也是單項的,這時就會和雙向數(shù)據(jù)綁定有沖突。

2.在表單中使用雙向數(shù)據(jù)綁定

??你可以用 v-model 指令在表單 、 及 元素上創(chuàng)建雙向數(shù)據(jù)綁定。它會根據(jù)控件類型自動選取正確的方法來更新元素。盡管有些神奇,但 v-model 本質(zhì)上不過是語法糖。它負(fù)責(zé)監(jiān)聽用戶的輸入事件以更新數(shù)據(jù),并對一些極端場景進(jìn)行一些特殊處理。

??注意:v-model 會忽略所有表單元素的 value、checked、selected 特性的初始值而總是將 Vue 實例的數(shù)據(jù)作為數(shù)據(jù)來源。你應(yīng)該通過 JavaScript 在組件的 data 選項中聲明初始值!
示例1:

<body>     <p id="app">         <input type="text"  v-model="message"/>{{message}}     </p>      <script>          var app = new Vue({              el:"#app",              data:{message:'' }          });      </script></body>

完成效果:
最系統(tǒng)的vue全套教程(詳解及實例)
示例2:

  <p id="app">         <input type="radio" name="sex" value="男" v-model="gender"/>男        <input type="radio" name="sex" value="女" v-model="gender"/>女        <p>{{gender}}</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{gender:'' }          });      </script>

示例3:

<body>     <p id="app">         <select v-model="selected">             <option value="">--請選擇--</option>             <option value="北京">北京</option>             <option value="上海">上海</option>             <option value="廣州">廣州</option>         </select>         <p>{{selected}}</p>     </p>      <script>          var app = new Vue({              el:"#app",              data:{selected:'' }          });      </script></body>

3.什么是組件

??組件是可復(fù)用的 Vue 實例,說白了就是一組可以重復(fù)使用的模板,跟 JSTL 的自定義標(biāo)簽、Thymeleaf 的 th:fragment 等框架有著異曲同工之妙。
??通常一個應(yīng)用會以一棵嵌套的組件樹的形式來組織:最系統(tǒng)的vue全套教程(詳解及實例)
例如,你可能會有頁頭、側(cè)邊欄、內(nèi)容區(qū)等組件,每個組件又包含了其它的像導(dǎo)航鏈接、博文之類的組件。

4.簡單定義一個組件

注意:在實際開發(fā)中,我們并不會用以下方式開發(fā)組件,而是采用 vue-cli 創(chuàng)建 .vue 模板文件的方式開發(fā),以下方法只是為了讓大家理解什么是組件。

  <p id="app">         <beixi></beixi>     </p>      <script>  	    //注冊組件          Vue.component("beixi",{              template:'<li>hello</li>'          });          var app = new Vue({              el:"#app",          });      </script>

說明:

  • Vue.component():注冊組件
  • beixi:自定義組件的名字
  • template:組件的模板

5.使用 props 屬性動態(tài)傳遞參數(shù)

<body>     <p id="app">         <!--組件:使用props把值傳遞給組件-->         <blog-post v-for="item in items" v-bind:value="item"></blog-post>     </p>      <script>          Vue.component("blog-post",{              props:['value'],              template:'<li>{{value}}</li>'          });          var app = new Vue({              el:"#app",              data:{                  items:['beixi','jzj','賈志杰']              }          });      </script></body>

說明:

v-for=“item in items”:遍歷 Vue 實例中定義的名為 items 的數(shù)組,并創(chuàng)建同等數(shù)量的組件
v-bind:value=“item”:將遍歷的 item 項綁定到組件中 props 定義的名為 value屬性上;= 號左邊的 value 為 props 定義的屬性名,右邊的為 item in items 中遍歷的 item 項的值

五、Axios異步通信

1.什么是Axios

??Axios 是一個開源的可以用在瀏覽器端和 NodeJS 的異步通信框架,她的主要作用就是實現(xiàn) AJAX 異步通信,其功能特點如下:

  • 從瀏覽器中創(chuàng)建 XMLHttpRequests
  • 從 node.js 創(chuàng)建 http 請求
  • 支持 Promise API [JS中鏈?zhǔn)骄幊蘛
  • 攔截請求和響應(yīng)
  • 轉(zhuǎn)換請求數(shù)據(jù)和響應(yīng)數(shù)據(jù)
  • 取消請求
  • 自動轉(zhuǎn)換 JSON 數(shù)據(jù)
  • 客戶端支持防御 XSRF(跨站請求偽造)

??GitHub:https://github.com/axios/axios

??中文文檔:http://www.axios-js.com/

2.為什么要使用 Axios

??由于 Vue.js 是一個 視圖層框架 并且作者(尤雨溪)嚴(yán)格準(zhǔn)守 SoC (關(guān)注度分離原則),所以 Vue.js 并不包含 AJAX 的通信功能,為了解決通信問題,作者單獨開發(fā)了一個名為 vue-resource 的插件,不過在進(jìn)入 2.0 版本以后停止了對該插件的維護(hù)并推薦了 Axios 框架。少用jQuery,因為它操作Dom太頻繁!

3.第一個 Axios 應(yīng)用程序

??咱們開發(fā)的接口大部分都是采用 JSON 格式,可以先在項目里模擬一段 JSON 數(shù)據(jù),數(shù)據(jù)內(nèi)容如下:創(chuàng)建一個名為 data.json 的文件并填入上面的內(nèi)容,放在項目的根目錄下

{   "name": "貝西說",   "url": "https://blog.csdn.net/beixishuo",   "page": 1,   "isNonProfit": true,   "address": {     "street": "太谷",     "city": "山西晉中",     "country": "中國"   },   "links": [     {       "name": "bilibili",       "url": "https://space.bilibili.com/474668932"     },     {       "name": "貝西說",       "url": "https://blog.csdn.net/beixishuo"     },     {       "name": "百度",       "url": "https://www.baidu.com/"     }   ]}

完整示例:

    <!--引入 JS 文件-->     <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>     <!--在線引入axios。在項目開發(fā)中會安裝axios組件(npm install axios)-->     <script src="https://unpkg.com/axios/dist/axios.min.js"></script></head><body><p id="app">     <p>{{info.name}}</p>     <p>{{info.address}}</p>     <a v-bind:href="info.url">貝西說</a></p><script>     var app=new Vue({         el:"#app",         //data: 屬性         data:function(){//需要處理(返回)后臺數(shù)據(jù)在頁面上渲染時使用             return{                 //請求的返回參數(shù)格式必須和json字符串一樣                 info:{                     name:null,//相當(dāng)于形參占位,實際參數(shù)data.json會賦予                     url:null,                     address:{                         street:null,                         city:null,                         country:null                     }                 }             }         },         mounted:function(){//mounted鉤子函數(shù),相當(dāng)于java中main函數(shù)。可以調(diào)用methods中定義的函數(shù)         // axios.get('data.json').then(resp=>(console.log(resp.data)));             axios.get('data.json').then(resp=>(this.info=resp.data));         }     })</script></body>

注意:
讀取本地json文件中的數(shù)據(jù)時讀取失敗,如圖

最系統(tǒng)的vue全套教程(詳解及實例)
解決方式就是右擊瀏覽器快捷方式,更改屬性,在目標(biāo)后面加上

–allow-file-access-from-files
最系統(tǒng)的vue全套教程(詳解及實例)

說明:

  1. 在這里使用了 v-bind 將 a:href 的屬性值與 Vue 實例中的數(shù)據(jù)進(jìn)行綁定
  2. 使用 axios 框架的 get 方法請求 AJAX 并自動將數(shù)據(jù)封裝進(jìn)了 Vue 實例的數(shù)據(jù)對象中
  3. 我們在data中的數(shù)據(jù)結(jié)構(gòu)必須要和Ajax響應(yīng)回來的數(shù)據(jù)格式匹配!

4.axios API

可以通過將相關(guān)配置傳遞給 axios 來進(jìn)行請求。

axios(config)

// 發(fā)送一個 POST 請求axios({ 	method: 'post', 	url: '/user/12345', 	data: { 	firstName: 'Fred', 	lastName: 'Flintstone' 	}});

axios(url[, config])

// 發(fā)送一個 GET 請求 (GET請求是默認(rèn)請求模式) 	axios('/user/12345');

請求方法別名
為了方便起見,已經(jīng)為所有支持的請求方法提供了別名。

  • axios.request(config)

  • axios.get(url [,config])

  • axios.delete(url [,config])

  • axios.head(url [,config])

  • axios.post(url [,data [,config]])

  • axios.put(url [,data [,config]])

  • axios.patch(url [,data [,config]])

注意

當(dāng)使用別名方法時,不需要在config中指定url,method和data屬性。

5.Vue的生命周期

最系統(tǒng)的vue全套教程(詳解及實例)

六、計算屬性

1.什么是計算屬性

??當(dāng)一些數(shù)據(jù)需要根據(jù)其它數(shù)據(jù)變化時,需要進(jìn)行處理才能去展示,雖然vue提供了綁定數(shù)據(jù)表達(dá)式綁定的方式,但是設(shè)計它的初衷只是用于簡單運算的。在模板中放入太多的邏輯會讓模板過重且難以維護(hù),對于一些比較復(fù)雜和特殊的計算有可能就捉襟見肘了,而且計算的屬性寫在模板里也不利于項目維護(hù)

computed主要的作用:

  • ??分離邏輯(模板和數(shù)據(jù)分離)
  • ??緩存值
  • ??雙向綁定(getter,setter)

簡單理解為:把計算的結(jié)果當(dāng)作屬性返回去

2.完整示例

    <!--引入 JS 文件-->     <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script></head><body><p id="app">     <input type="text"  v-model="num1"/><input type="text" v-model="num2"/>     <p>求和結(jié)果{{result}}</p></p><script>     var app=new Vue({         el:"#app",         data:{num1:1,num2:2},         computed:{//計算屬性            result:function(){                return parseInt(this.num1)+parseInt(this.num2);            }         }     })</script></body>

3、methods方法與computed計算屬性區(qū)別

  1. 兩者的執(zhí)行結(jié)果是完全相同的
  2. 計算屬性是基于他們的依賴進(jìn)行緩存的,只有在相關(guān)依賴發(fā)生改變時,他們才會重新求值,也就是說,只要他的依賴沒有發(fā)生變化,那么每次訪問的時候計算屬性都會立即返回之前的計算結(jié)果,不再執(zhí)行函數(shù)
  3. 每次觸發(fā)重新渲染時,調(diào)用方法將總會再次執(zhí)行函數(shù)

七、前端工程化 vue-cli

?Vue腳手架指的是vue-cli,它是一個專門為單頁面應(yīng)用快速搭建繁雜的腳手架,它可以輕松的創(chuàng)建新的應(yīng)用程序而且可用于自動生成vue和webpack的項目模板。
?利用vue-cli腳手架來構(gòu)建Vue項目需要先安裝Node.js和NPM環(huán)境。
1.Node.js的安裝
Node.js的安裝比較簡單,大家需要在node.js官網(wǎng)(https://nodejs.org/en/download/)下載并安裝node.js環(huán)境,windows的推薦下載Windows Installer (.msi)。同時,大家會得到一個附送的NPM工具。

  • 安裝Node.js,雙擊下載好的node文件,如圖所示。
    最系統(tǒng)的vue全套教程(詳解及實例)
    安裝過程比較簡單,一直“下一步”即可。
  • 環(huán)境變量配置:安裝完成后需要設(shè)置環(huán)境變量:即Path中添加安裝目錄(例如:D:javanodejs),如圖所示。
    最系統(tǒng)的vue全套教程(詳解及實例)
  • 點擊開始=》運行=》輸入"cmd" => 輸入node -v如圖所示,驗證安裝是否成功。
    最系統(tǒng)的vue全套教程(詳解及實例)
    2.npm安裝
    由于node.js已經(jīng)集成了npm,所以之前npm也一并安裝好了。所以在cmd終端輸入npm -v 來測試是否安裝成功。命令如圖 所示,出現(xiàn)版本提示表示安裝成功。
    最系統(tǒng)的vue全套教程(詳解及實例)
    3基本使用
    最系統(tǒng)的vue全套教程(詳解及實例)
    步驟如下:
    ① 搭建第一個完整的Vue-cli 腳手架構(gòu)建的項目。
    最系統(tǒng)的vue全套教程(詳解及實例)
    ② 安裝完成,輸入Vue -V,如果出現(xiàn)相應(yīng)的版本號,則說明安裝成功。如圖7-6所示。
    最系統(tǒng)的vue全套教程(詳解及實例)
    ③ 我們可以使用vue-cli來快速生成一個基于webpack模板構(gòu)建的項目,如圖所示,項目名為vue-project。
    最系統(tǒng)的vue全套教程(詳解及實例)
    ④ 配置完成后,可以看到目錄下多出了一個項目文件夾,里面就是 vue-cli 創(chuàng)建的一個基于 webpack 的 vue.js 項目。
    然后進(jìn)入項目目錄(如:cd vue-project),使用 npm install安裝依賴,如圖所示。
    最系統(tǒng)的vue全套教程(詳解及實例)
    依賴安裝完成后,我們來看一下項目的目錄結(jié)構(gòu),如下所示:
.|-- build                            // 項目構(gòu)建(webpack)相關(guān)代碼|   |-- build.js                     // 生產(chǎn)環(huán)境構(gòu)建代碼|   |-- check-version.js             // 檢查node、npm等版本|   |-- dev-client.js                // 熱重載相關(guān)|   |-- dev-server.js                // 構(gòu)建本地服務(wù)器|   |-- utils.js                     // 構(gòu)建工具相關(guān)|   |-- webpack.base.conf.js         // webpack基礎(chǔ)配置|   |-- webpack.dev.conf.js          // webpack開發(fā)環(huán)境配置|   |-- webpack.prod.conf.js         // webpack生產(chǎn)環(huán)境配置|-- config                           // 項目開發(fā)環(huán)境配置|   |-- dev.env.js                   // 開發(fā)環(huán)境變量|   |-- index.js                     // 項目一些配置變量|   |-- prod.env.js                  // 生產(chǎn)環(huán)境變量|   |-- test.env.js                  // 測試環(huán)境變量|-- node_modules		   //所需要依賴資源|-- src                              // 源碼目錄|   |--  assets                   	   //存放資產(chǎn)文件|   |-- components                   // vue公共組件|   |-- router                   	//存放路由js文件,用于頁面的跳轉(zhuǎn)|   |-- App.vue                        // 頁面入口文件|   |-- main.js                        // 程序入口文件,加載各種公共組件|-- static                           // 靜態(tài)文件,比如一些圖片,json數(shù)據(jù)等|   |-- data                           // 群聊分析得到的數(shù)據(jù)用于數(shù)據(jù)可視化|-- .babelrc                         // ES6語法編譯配置|-- .editorconfig                    // 定義代碼格式|-- .gitignore                       // git上傳需要忽略的文件格式|-- README.md                        // 項目說明|-- favicon.ico  |-- index.html                       // 入口頁面|-- package.json                     // 項目基本信息.

對于開發(fā)者

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
www一区二区www免费| 不用播放器的免费av| 日韩国产欧美亚洲| 欧美女人性生活视频| 黄色免费网址大全| а 天堂 在线| 丰满的少妇愉情hd高清果冻传媒| 少妇人妻无码专区视频| 999精品网站| 福利视频999| 成人av在线播放观看| 欧美精品一区免费| av在线无限看| 精品一区二区三区毛片| 可以在线看的av网站| 孩娇小videos精品| 国产精品va在线观看无码| 不要播放器的av网站| 性做爰过程免费播放| 国产男女在线观看| 亚洲一区二区三区四区精品| 成人免费观看cn| 免费精品99久久国产综合精品应用| 日本xxx免费| 杨幂毛片午夜性生毛片| 嫩草影院中文字幕| 色播五月激情五月| 成人在线国产视频| 国产精品久久久久久久av福利| 日本a在线免费观看| 韩国一区二区在线播放| www黄色av| 青青青在线观看视频| 一起操在线视频| 国模杨依粉嫩蝴蝶150p| 久久久久久久9| 熟女熟妇伦久久影院毛片一区二区| 91精品91久久久中77777老牛| 国产在线视频三区| 亚洲欧美激情网| 国内外成人免费激情视频| 黄色特一级视频| 在线播放av中文字幕| 成人免费无码av| 亚洲熟妇国产熟妇肥婆| av动漫在线播放| av影院在线播放| 手机在线观看日韩av| 热久久久久久久久| 亚州精品一二三区| 国产又黄又猛又粗又爽的视频| 丰满少妇大力进入| av在线com| 69精品丰满人妻无码视频a片| 国产xxxxhd| 污污视频在线免费| 午夜啪啪福利视频| 6080国产精品| 国产又粗又爽又黄的视频| 国产高清免费在线| 91社在线播放| 六月婷婷激情网| 少妇久久久久久被弄到高潮| 成人一区二区av| 青春草国产视频| 欧美 日韩精品| 亚洲va综合va国产va中文| 污污视频网站在线| 麻豆md0077饥渴少妇| 日韩成人三级视频| 日韩av黄色网址| 亚洲老女人av| 国产高潮呻吟久久久| 美女黄色免费看| 国产高清精品在线观看| 国产aaaaa毛片| 福利在线小视频| 浮妇高潮喷白浆视频| 亚洲最大综合网| 只有这里有精品| 乱妇乱女熟妇熟女网站| 亚洲欧美国产中文| 国产 欧美 日韩 一区| 国产美女无遮挡网站| 中文字幕22页| 日本一区午夜艳熟免费| 国内自拍视频一区| 免费观看中文字幕| 日本在线观看a| 亚洲欧美手机在线| 亚洲 欧美 日韩 国产综合 在线| 国产91色在线观看| 青草视频在线观看视频| 国产97色在线 | 日韩| 欧洲美女和动交zoz0z| 亚洲精品无码久久久久久| www.色就是色.com| 久久精品免费一区二区| 日本一本在线视频| 十八禁视频网站在线观看| 米仓穗香在线观看| 国产精彩免费视频| 国产一区二区四区| 伊人五月天婷婷| 999香蕉视频| 欧洲精品一区二区三区久久| 日韩欧美亚洲另类| 成年人视频网站免费观看| 欧美日韩午夜爽爽| 九一精品久久久| 91香蕉视频导航| 中文字幕乱码人妻综合二区三区| 黄频视频在线观看| 亚洲综合婷婷久久| 噼里啪啦国语在线观看免费版高清版| 一本色道久久88亚洲精品综合| 亚洲综合av在线播放| 一本久道中文无码字幕av| 欧美 丝袜 自拍 制服 另类| 特大黑人娇小亚洲女mp4| 992kp免费看片| 中文字幕视频三区| 三上悠亚在线一区| 在线视频日韩一区| 亚洲熟妇av一区二区三区| 欧美a v在线播放| 国产中文字幕乱人伦在线观看| 久久久久久久久网| 草草草视频在线观看| 亚洲av首页在线| 欧美性受xxxx黑人猛交88| 亚洲一区日韩精品| 国产又粗又长又爽又黄的视频| 亚洲精品性视频| 欧美一级特黄aaa| 91香蕉视频免费看| 在线观看17c| 99在线免费视频观看| 色综合久久久久无码专区| 欧美日韩国产精品激情在线播放| 狠狠爱免费视频| 国内自拍视频一区| 亚洲涩涩在线观看| 色中文字幕在线观看| 特级西西444| 水蜜桃色314在线观看| 女人扒开屁股爽桶30分钟| 97公开免费视频| 午夜剧场在线免费观看| aaa免费在线观看| 久久精品国产sm调教网站演员| 鲁一鲁一鲁一鲁一澡| 苍井空浴缸大战猛男120分钟| 日本黄大片一区二区三区| 国产精品12p| 国产精品宾馆在线精品酒店| 午夜欧美福利视频| 一级全黄肉体裸体全过程| 国产v片免费观看| av在线无限看| 在线观看成人免费| 久久国产精品视频在线观看| 精品久久久久久中文字幕2017| 在线视频日韩欧美| 蜜臀av无码一区二区三区| 欧美午夜aaaaaa免费视频| 8x8x华人在线| 91n.com在线观看| 国产在线观看欧美| 国产成人精品无码播放| 黄色a级在线观看| 欧美亚洲日本在线观看| 无颜之月在线看| 黄大色黄女片18第一次| 日本免费黄色小视频| 妓院一钑片免看黄大片| 国产又粗又猛又爽又黄的网站| mm1313亚洲国产精品无码试看| 99中文字幕在线观看| 嫩草av久久伊人妇女超级a| 欧美黑人在线观看| 波多野结衣国产精品| 成年人视频观看| 白白操在线视频| 韩国一区二区在线播放| 88av.com| 久草资源站在线观看| www.xxx麻豆| 手机看片日韩国产| 色www免费视频| av观看免费在线| 日本在线xxx| 高清无码视频直接看| 吴梦梦av在线| 激情在线观看视频| 日本久久久久久久久久久久| 无遮挡又爽又刺激的视频| 国产日韩av网站| 水蜜桃色314在线观看| 欧美图片激情小说|