日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue(笔记)

發布時間:2023/12/3 vue 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue(笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所有東西必須都在標簽里面進行定義,都在div中

報錯后不斷npm和cnpm

Vue簡介

Vue (讀音/vju/, 類似于view)是一套用于構建用戶界面的漸進式框架,發布于2014年2月。與其它大型框架不同的是,Vue被設計為可以自底向上逐層應用。Vue的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫(如: vue-router: 跳轉,vue-resource: 通信,vuex:管理)或既有項目整合。

前端知識體系

想要成為真正的“互聯網Java全棧工程師”還有很長的一段路要走,其中“我大前端”是繞不開的一門必修課。本階段課程的主要目的就是帶領我Java后臺程序員認識前端、了解前端、掌握前端,為實現成為“互聯網Java全棧工程師”再向前邁進一步。

前端三要素

●HTML (結構) :超文本標記語言(Hyper Text Markup Language) ,決定網頁的結構和內容
●CSS (表現) :層疊樣式表(Cascading Style sheets) ,設定網頁的表現樣式
●JavaScript (行為) :是一種弱類型腳本語言,其源代碼不需經過編譯,而是由瀏覽器解釋運行,用于控制網頁的行為

結構層(HTML)

表現層(CSS)

CSS層疊樣式表是一門標記語言,并不是編程語言,因此不可以自定義變量,不可以引用等,換句話說就是不具備任何語法支持,它主要缺陷如下:
●語法不夠強大,比如無法嵌套書寫,導致模塊化開發中需要寫很多重復的選擇器;
●沒有變量和合理的樣式復用機制,使得邏輯上相關的屬性值必須以字面量的形式重復輸出,導致難以維護;
這就導致了我們在工作中無端增加了許多工作量。為了解決這個問題,前端開發人員會使用一種稱之為[CSS預處理器]的工具,提供CSS缺失的樣式層復用機制、減少冗余代碼,提高樣式代碼的可維護性。大大提高了前端在樣式上的開發效率。(例如頁面在不同的時候有不同的需求,淘寶在雙11和618的樣式就會不一樣)

CSS預處理器

CSS預處理器定義了一種新的語言,其基本思想是,用一種專門的編程語言,為CSS增加了一些編程的特性,將CSS作為目標生成文件,然后開發者就只要使用這種語言進行CSS的編碼工作。轉化成通俗易懂的話來說就是“用一種專門的編程語言,進行Web頁面樣式設計,再通過編譯器轉化為正常的CSS文件,以供項目使用”
常用的CSS預處理器有哪些
SASS:基于Ruby,通過服務端處理,功能強大。解析效率高。需要學習Ruby語言,上手難度高于LESS。
LESS:基于NodeJS,通過客戶端處理,使用簡單。功能比SASS簡單,解析效率也低于SASS,但在實際開發中足夠了,所以我們后臺人員如果需要的話,建議使用LESS。

行為層(JavaScript)

JavaScript一門弱類型腳本語言,其源代碼在發往客戶端運行之前不需經過編譯,而是將文本格式的字符代碼發送給瀏覽器由瀏覽器解釋運行。
?Native原生JS開發
?原生JS開發,也就是讓我們按照[ECMAScript] 標準的開發方式,簡稱是ES,特點是所有瀏覽器都支持。截止到當前博客發布時間,ES 標準已發布如下版本:
●ES3
●ES4 (內部,未征式發布)
●ES5 (全瀏覽器支持)
●ES6 (常用,當前主流版本: webpack打包成為ES5支持! )
●ES7
●ES8
●ES9 (草案階段)
區別就是逐步增加新特性。

TypeScript

TypeScript是一種由微軟開發的自由和開源的編程語言。它是JavaScript的一個超集,而且本質上向這個語言添加了可選的靜態類型和基于類的面向對象編程。由安德斯海爾斯伯格(C#、Delphi、TypeScript 之父; .NET 創立者)主導。
?該語言的特點就是除了具備ES的特性之外還納入了許多不在標準范圍內的新特性,所以會導致很多瀏覽器不能直接支持TypeScript語法,需要編譯后(編譯成JS)才能被瀏覽器正確執行。

JavaScript框架

jQuery: 大家熟知的JavaScript框架,優點是簡化了DOM操作,缺點是DOM操作太頻繁,影響前端性能;在前端眼里使用它僅僅是為了兼容IE6、7、8;
Angular: Google收購的前端框架,由一群Java程序員開發,其特點是將后臺的MVC模式搬到了前端并增加了模塊化開發的理念,與微軟合作,采用TypeScript語法開發;對后臺程序員友好,對前端程序員不太友好;最大的缺點是版本迭代不合理(如: 1代-> 2代,除了名字,基本就是兩個東西;截止發表博客時已推出了Angular6)
React: Facebook出品,一款高性能的JS前端框架;特點是提出了新概念[虛擬DOM]用于
減少真實DOM操作,在內存中模擬DOM操作,有效的提升了前端渲染效率;缺點是使用復
雜,因為需要額外學習一門[JSX] 語言;
Vue:一款漸進式JavaScript框架,所謂漸進式就是逐步實現新特性的意思,如實現模塊化開發、路由、狀態管理等新特性。其特點是綜合了Angular (模塊化)和React (虛擬DOM)的優點;
Axios :前端通信框架;因為Vue 的邊界很明確,就是為了處理DOM,所以并不具備通信能
力,此時就需要額外使用一個通信框架與服務器交互;當然也可以直接選擇使用jQuery提供的AJAX通信功能;
前端三大框架:AngularReactVue

UI框架

●Ant-Design:阿里巴巴出品,基于React的UI框架
●ElementUI、 iview、 ice: 餓了么出品,基于Vue的UI框架
●Bootstrap: Twitter推出的一個用于前端開發的開源工具包
●AmazeUI:又叫"妹子UI",一款HTML5跨屏前端框架.

JavaScript 構建工具

●Babel: JS編譯工具,主要用于瀏覽器不支持的ES新特性,比如用于編譯TypeScript
●WebPack: 模塊打包器,主要作用是打包、壓縮、合并及按序加載
注:以上知識點將WebApp開發所需技能全部梳理完畢

三端合一

混合開發(Hybid App)

主要目的是實現一套代碼三端統一(PC、Android:.apk、iOS:.ipa )并能備夠調用到底層件(如:傳感器、GPS、 攝像頭等),打包方式主要有以下兩種:
●云打包: HBuild -> HBuildX, DCloud出品; API Cloud
●本地打包: Cordova (前身是PhoneGap)
后端技術
?前端人員為了方便開發也需要掌握一定的后端技術, 但我們Java后臺人員知道后臺知識體系極其龐大復雜,所以為了方便前端人員開發后臺應用,就出現了NodeJS這樣的技術。
?NodeJS的作者已經聲稱放棄NodeJS (說是架構做的不好再加上笨重的node_ modules,可能讓作者不爽了吧),開始開發全新架構的Deno

既然是后臺技術,那肯定也需要框架和項目管理工具,NodeJS 框架及項目管理工具如下:
●Express: NodeJS框架
●Koa: Express簡化版
●NPM:項目綜合管理工具,類似于Maven
●YARN: NPM的替代方案,類似于Maven和Gradle的關系

第一個Vue程序

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mW9P7XbX-1609930142519)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105150648118.png)]

Vue

Vue (讀音/vju/, 類似于view)是一套用于構建用戶界面的漸進式框架,發布于2014年2月。與其它大型框架不同的是,Vue被設計為可以自底向上逐層應用。Vue的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫(如: vue-router, vue-resource, vuex)或既有項目整合。

MVVM模式的實現者●Model:模型層,在這里表示JavaScript對象
●View:視圖層,在這里表示DOM (HTML操作的元素)
●ViewModel:連接視圖和數據的中間件,Vue.js就是MVVM中的ViewModel層的實現者
在MVVM架構中,是不允許數據和視圖直接通信的,只能通過ViewModel來通信,而

ViewModel就是定義了一個Observer觀察者
●ViewModel能夠觀察到數據的變化,并對視圖對應的內容進行更新
●ViewModel能夠監聽到視圖的變化,并能夠通知數據發生改變
至此,我們就明白了,Vue.js 就是一個MVVM的實現者,他的核心就是實現了DOM監聽與數據綁定

為什么要使用Vue.js

●輕量級,體積小是一個重要指標。Vue.js 壓縮后有只有20多kb (Angular 壓縮后56kb+ ,
React壓縮后44kb+ )
●移動優先。更適合移動端,比如移動端的Touch事件
●易上手,學習曲線平穩,文檔齊全
●吸取了Angular (模塊化)和React (虛擬DOM)的長處,并擁有自己獨特的功能,如:計算屬性
●開源,社區活躍度高

代碼 demo1.html 初入門之綁定數據

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app">{{message}} </div> <script>let vm = new Vue({el: "#app",data: {message: "hello,vue"}}); </script> </body> </html>

MVVM

MVVM (Model-View-ViewModel) 是一種軟件架構設計模式,由微軟WPF (用于替代
WinForm,以前就是用這個技術開發桌面應用程序的)和Silverlight (類似于Java Applet,簡單點說就是在瀏覽器上運行的WPF)的架構師Ken Cooper和Ted Peters 開發,是一種簡化用戶界面的事件驅動編程方式。由John Gossman (同樣也是WPF和Silverlight的架構師)于2005年在他的博客上發表。
MVVM源自于經典的MVC (ModI-View-Controller) 模式。MVVM的核心是ViewModel
層,負責轉換Model中的數據對象來讓數據變得更容易管理和使用,其作用如下:
●該層向上與視圖層進行雙向數據綁定
●向下與Model層通過接口請求進行數據交互

圖1 MVVM圖解

為什么要使用MVVM

MVVM模式和MVC模式一樣,主要目的是分離視圖(View)**和**模型(Model),有幾大好處
●低耦合:視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的
View上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
●可復用:你可以把一些視圖邏輯放在一個ViewModel里面,讓很多View重用這段視圖邏輯。
●獨立開發:開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計。
●可測試:界面素來是比較難于測試的,而現在測試可以針對ViewModel來寫。

VUE基礎語法

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IsBxZViS-1609930142523)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105173247032.png)]

代碼 demo2.html if else 語法

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app"><h1 v-if="ok">Yes</h1><h1 v-else>No</h1> </div> <script>let vm = new Vue({el: "#app",data: {ok: true}}); </script> </body> </html>

代碼 demo03.html for循環獲取數據

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body><div id="app"><li v-for="text in allTexts">{{text.message}}</li> </div> <script>let vm = new Vue({el: "#app",data: {allTexts: [{message: "1"},{message: "2"},{message: "3"},]}}); </script> </body> </html>

代碼demo04 事件綁定

methods

<!DOCTYPE html> <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app"><button v-on:click="sayHi()">點我</button> </div> <script>let vm = new Vue({el: "#app",data: {message: "cqh"},methods: {sayHi: function () {alert(this.message);}}}); </script> </body> </html>

雙向數據綁定

Vue.js是一個MVVM框架,即數據雙向綁定,即當數據發生變化的時候,視圖也就發生變化,當視圖發生變化的時候,數據也會跟著同步變化。這也算是Vue.js的精髓之處了。
?值得注意的是,我們所說的數據雙向綁定,一定是對于UI控件來說的,非UI控件不會涉及到數據雙向綁定。單向數據綁定是使用狀態管理工具的前提。如果我們使用vuex,那么數據流也是單項的,這時就會和雙向數據綁定有沖突。

為什么要實現數據的雙向綁定

在Vue.js 中,如果使用vuex ,實際上數據還是單向的,之所以說是數據雙向綁定,這是用的UI控件來說,對于我們處理表單,Vue.js的雙向數據綁定用起來就特別舒服了。即兩者并不互斥,在全局性數據流使用單項,方便跟蹤;局部性數據流使用雙向,簡單易操作。

在表單中使用雙向數據綁定

你可以用v-model 指令在表單 、 及 元素上創建雙向數據綁定。它會根據控件類型自動選取正確的方法來更新元素。盡管有些神奇,但v-model本質上不過是語法糖。它負責監聽戶的輸入事件以更新數據,并對一些極端場景進行一些特殊處理。
代碼 demo05 數據雙向綁定示例 實現之后當輸入框輸入相應文字 在后面提示框會輸入相同文字

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app">數據雙向綁定示例:<input type="text" v-model="message">{{message}} </div> <script>let vm = new Vue({el: "#app",data: {message: ""},}); </script> </body> </html> <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app">性別: <input type="radio" name="sex" value="" v-model="qinjiang"><input type="radio" name="sex" value="" v-model="qinjiang">女選中了{{qinjiang}} </div> <script>let vm = new Vue({el: "#app",data: {qinjiang: ""},}); </script> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZvVgSdYi-1609930142525)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105185055994.png)]

第一個Vue組件

什么是組件

組件是可復用的Vue實例,說白了就是一組可以重復使用的模板,跟JSTL的自定義標簽、Thymeleaf的th:fragment 等框架有著異曲同工之妙。通常一個應用會以一棵嵌套的組件樹的形式來組織:
?注意:在實際開發中,我們并不會用以下方式開發組件,而是采用vue-cli創建.vue模板文件的方式開發,以下方法只是為了讓大家理解什么是組件。
Vue.component()方法注冊組件

圖2 組件樹

代碼 組件練習 demo06

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body><div id="app"><cqh v-for="item in items" v-bind:item="item"></cqh> </div><script>/*定義一個vue組件*/Vue.component("cqh", {props: ['item'],template: '<li>{{item}}</li>'});var vm = new Vue({el: "#app",data: {items: ["Java", "Linux", "前端"]}}); </script></body> </html>

Axios異步通信(通信框架)

<!--導入axios--> <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.min.js"></script>

Axios是一個開源的可以用在瀏覽器端NodeJS異步通信框架,她的主要作用就是實現AJAX異步通信,其功能特點如下:
●從瀏覽器中創建XMLHttpRequests
●從node.js創建http請求
●支持Promise API [JS中鏈式編程]
●攔截請求和響應
●轉換請求數據和響應數據
●取消請求
●自動轉換JSON數據
●客戶端支持防御XSRF (跨站請求偽造)
GitHub: https://github.com/ axios/axios
中文文檔: http://www.axios-js.com/

為什么要使用Axios

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

Vue的生命周期

官方文檔: https://cn.vuejs.org/v2/guide/instance.html#生 命周期圖示
Vue實例有一個完整的生命周期,也就是從開始創建初始化數據編譯模板掛載DOM、渲染→更新→渲染、卸載等一系列過程,我們稱這是Vue的生命周期。通俗說就是Vue實例從創建到銷毀的過程,就是生命周期。
在Vue的整個生命周期中,它提供了一系列的事件,可以讓我們在事件觸發時注冊JS方法,可以讓我們用自己注冊的JS方法控制整個大局,在這些事件響應方法中的this直接指向的是Vue的實例。

代碼 初探axios
先建立一個data.json

{"name": "cqh","age": "18","sex": "男","url":"https://www.baidu.com","address": {"street": "緹香郡","city": "寧波","country": "中國"},"links": [{"name": "bilibili","url": "https://www.bilibili.com"},{"name": "baidu","url": "https://www.baidu.com"},{"name": "cqh video","url": "https://www.4399.com"}] }

demo07.html

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Y65Jik3b-1609930142528)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105210825401.png)]

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--在線CDN--><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script><!--導入axios--><script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.min.js"></script></head> <body> <div id="app"><div>{{info.name}}</div><a v-bind:href="info.url">點我到百度鏈接</a> </div> <script>let vm = new Vue({el: "#app",//和data: 不同 屬性:vmdata() {return {info: {name:null,url:null,},}},mounted() {//鉤子函數 鏈式編程 ES6新特性axios.get("../data.json").then(response => (this.info=response.data));}}); </script> </body> </html>

計算屬性

計算屬性的重點突出在屬性兩個字上(屬性是名詞),首先它是個屬性其次這個屬性有計算的能力(計算是動詞),這里的計算就是個函數;簡單點說,它就是一個能夠將計算結果緩存起來的屬性(將行為轉化成了靜態的屬性),僅此而已;可以想象為緩存!
代碼 demo08.html 計算屬性了解

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--在線CDN--><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app"><p>c1:{{getTime()}}</p><p>c2:{{getTime2}}</p> </div> <script>let vm = new Vue({el: "#app",data: {message: "hello cqh"},methods: {getTime: function () {return Date.now();}},//計算屬性computed: {getTime2: function () {// this.message;return Date.now();}}}); </script> </body> </html>

結論:
?調用方法時,每次都需要進行計算,既然有計算過程則必定產生系統開銷,那如果這個結果是不經常變化的呢?此時就可以考慮將這個結果緩存起來,采用計算屬性可以很方便的做到這一點,計算屬性的主要特性就是為了將不經常變化的計算結果進行緩存,以節約我們的系統開銷;

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7yKFmTXu-1609930142531)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105215342368.png)]

插槽slot

在Vue.js中我們使用 元素作為承載分發內容的出口,作者稱其為插槽,可以應用在組合組件的場景中;
這里穿插以下vue的語法縮寫
v:bind: 可以縮寫為一個:
v-on: 可以縮寫為一個@
代碼demo9 插槽初體驗

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app"><todo><todo-title slot="todo-title" v-bind:title="title"></todo-title><todo-items slot="todo-items" v-for="item in todoItems" v-bind:item="item"></todo-items></todo> </div> <script>//slot 插槽 這個組件要定義在前面不然出不來數據Vue.component("todo", {template: '<div>\<slot name="todo-title"></slot>\<ul>\<slot name="todo-items"></slot>\</ul>\<div>'});Vue.component("todo-title", {//屬性props: ['title'],template: '<div>{{title}}</div>'});Vue.component("todo-items", {props: ['item'],template: '<li>{{item}}</li>'});let vm = new Vue({el: "#app",data: {//標題title: "圖書館系列圖書",//列表todoItems: ['三國演義', '紅樓夢', '西游記', '水滸傳']}}); </script> </body> </html>

自定義事件(this.$emit)

通過以上代碼不難發現,數據項在Vue的實例中,但刪除操作要在組件中完成,那么組件如何才能刪除Vue實例中的數據呢?此時就涉及到參數傳遞與事件分發了,Vue為我們提供了自定義事件的功能很好的幫助我們解決了這個問題;使用this.$emit(‘自定義事件名’,參數)

圖 自定義事件圖解

代碼 demo09-1 自定義組件

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><!--1.導入vue.js--><script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <div id="app"><todo><todo-title slot="todo-title" v-bind:title="title"></todo-title><todo-items slot="todo-items"v-for="(item,i) in todoItems"v-bind:item="item" v-bind:index="i"v-on:remove="removeItem(i)"></todo-items></todo> </div> <script>//slot 插槽 這個組件要定義在前面不然出不來數據Vue.component("todo", {template: '<div>\<slot name="todo-title"></slot>\<ul>\<slot name="todo-items"></slot>\</ul>\<div>'});Vue.component("todo-title", {//屬性props: ['title'],template: '<div>{{title}}</div>'});Vue.component("todo-items", {props: ['item', 'index'],template: '<li>{{index}}-{{item}}<button style="margin: 5px" @click="remove">刪除</button></li>',methods: {remove: function (index) {// this.$emit('事件',參數) 自定義事件分發(遠程調用方法)this.$emit('remove', index)}},});let vm = new Vue({el: "#app",data: {//標題title: "圖書館系列圖書",//列表todoItems: ['三國演義', '紅樓夢', '西游記', '水滸傳']},methods: {removeItem: function (index) {// 一次刪除一個元素this.todoItems.splice(index, 1)console.log("刪除了" + this.todoItems[index] + "OK")}},}); </script> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6a89LWAo-1609930142532)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105225524114.png)]

vue-cli(類似Maven)

vue-cli 官方提供的一個腳手架,用于快速生成一個 vue 的項目模板;
?預先定義好的目錄結構及基礎代碼,就好比咱們在創建 Maven 項目時可以選擇創建一個骨架項目,這個骨架項目就是腳手架,我們的開發更加的快速;

主要的功能:
? 統一的目錄結構
? 本地調試
? 熱部署
? 單元測試
? 集成打包上線

需要的環境

Node.js : http://nodejs.cn/download/
安裝就無腦下一步就好,安裝在自己的環境目錄下
Git : https://git-scm.com/downloads
鏡像:https://npm.taobao.org/mirrors/git-for-windows/

確認nodejs安裝成功

cmd 下輸入 node -v,查看是否能夠正確打印出版本號即可!
cmd 下輸入 npm-v,查看是否能夠正確打印出版本號即可!

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DDztvLXY-1609930142534)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210105234758545.png)]

這個npm,就是一個軟件包管理工具,就和linux下的apt軟件安裝差不多!
安裝 Node.js 淘寶鏡像加速器(cnpm)
這樣子的話,下載會快很多~

淘寶鏡像加速器(cnpm)

在命令臺輸入

# -g 就是全局安裝npm install -g cnpm --registry=https://registry.npm.taobao.org npm install cnpm -g # 或使用如下語句解決 npm 速度慢的問題 npm install --registry=https://registry.npm.taobao.org

狂神老師用的是npm 我用的是cnpm npm用的應該是外網 所以沒有條件的同學就用cnpm
安裝的位置:C:\Users\Administrator\AppData\Roaming\npm

圖 安裝的npm地址

安裝 vue-cli

#在命令臺輸入 cnpm install vue-cli -g #查看是否安裝成功 vue list

第一個 vue-cli 應用程序

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-464dZG5v-1609930142535)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106095558551.png)]

創建一個Vue項目,我們隨便建立一個空的文件夾在電腦上,我這里在D盤下新建一個目錄D:\Project\vue-study;
?創建一個基于 webpack 模板的 vue 應用程序

# 這里的 myvue 是項目名稱,可以根據自己的需求起名 vue init webpack demo01

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-s23zkMYN-1609930142536)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106003044012.png)]

一路都選擇no即可;
初始化并運行

cd demo01 npm install npm run dev

執行完成后,目錄多了很多依賴

圖 依賴存放的位置

圖 輸入npm run dev 后 進入localhost:8080

圖 效果圖

以管理員身份運行ij

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2fnErAte-1609930142539)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106112250749.png)]

改變端口

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lPeiWedn-1609930142541)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106113654777.png)]

Webpack(es6->es5)

WebPack 是一款模塊加載器兼打包工具,它能把各種資源,如 JS、JSX、ES6、SASS、LESS、圖片等都作為模塊來處理和使用。

npm install webpack -g npm install webpack-cli -g

測試安裝成功: 輸入以下命令有版本號輸出即為安裝成功

webpack -v webpack-cli -v

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-erJADgqh-1609930142542)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106121415213.png)]

什么是Webpack

本質上,webpack是一個現代JavaScript應用程序的靜態模塊打包器(module bundler)。當webpack處理應用程序時,它會遞歸地構建一個依賴關系圖(dependency graph),其中包含應用程序需要的每個模塊,然后將所有這些模塊打包成一個或多個bundle.
?Webpack是當下最熱門的前端資源模塊化管理和打包工具,它可以將許多松散耦合的模塊按照依賴和規則打包成符合生產環境部署的前端資源。還可以將按需加載的模塊進行代碼分離,等到實際需要時再異步加載。通過loader轉換,任何形式的資源都可以當做模塊,比如CommonsJS、AMD、ES6、 CSS、JSON、CoffeeScript、LESS等;
?伴隨著移動互聯網的大潮,當今越來越多的網站已經從網頁模式進化到了WebApp模式。它們運行在現代瀏覽器里,使用HTML5、CSS3、ES6 等新的技術來開發豐富的功能,網頁已經不僅僅是完成瀏覽器的基本需求; WebApp通常是一個SPA (單頁面應用) ,每一個視圖通過異步的方式加載,這導致頁面初始化和使用過程中會加載越來越多的JS代碼,這給前端的開發流程和資源組織帶來了巨大挑戰。
?前端開發和其他開發工作的主要區別,首先是前端基于多語言、多層次的編碼和組織工作,其次前端產品的交付是基于瀏覽器的,這些資源是通過增量加載的方式運行到瀏覽器端,如何在開發環境組織好這些碎片化的代碼和資源,并且保證他們在瀏覽器端快速、優雅的加載和更新,就需要一個模塊化系統,這個理想中的模塊化系統是前端工程師多年來一直探索的難題。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SNXXVM1Z-1609930142544)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106121442001.png)]

webpack demo

  • 先創建一個包 交由idea打開 會生成一個.idea文件 那么就說明該文件就交由idea負責
  • 在idea中創建modules包,再創建hello.js
    hello.js 暴露接口 相當于Java中的類
  • exports.sayHi = function () {document.write("<h1>hello world</h1>") }
  • 創建main.js 當作是js主入口
    main.js 請求hello.js 調用sayHi()方法
  • let hello=require("./hello"); hello.sayHi()
  • 在主目錄創建webpack-config.js
    webpack-config.js 這個相當于webpack的配置文件 enrty請求main.js的文件 output是輸出的位置和名字
  • module.exports = {entry: './modules/main.js',output: {filename: "./js/bundle.js"} };
  • 在idea命令臺輸入webpack命令(idea要設置管理員啟動)
  • 圖 webpack命令效果

  • 完成上述操作之后會在主目錄生成一個dist文件 生成的js文件夾路徑為/dist/js/bundle.js
  • 在主目錄創建index.html 導入bundle.js
    index.html
  • <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><script src="dist/js/bundle.js"></script> </head> <body> </body> </html>
  • 實際效果如圖
  • 圖 webpack demo示例圖

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mnNwnhbE-1609930142545)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106130327672.png)]

    vue-router

    Vue Router是Vue.js官方的路由管理器(路徑跳轉)。它和Vue.js的核心深度集成,讓構建單頁面應用變得易如反掌。包含的功能有:

  • 嵌套的路由/視圖表
  • 模塊化的、基于組件的路由配置
  • 路由參數、查詢、通配符
  • 基于Vue.js過渡系統的視圖過渡效果
  • 細粒度的導航控制
  • 帶有自動激活的CSS class的鏈接
  • HTML5歷史模式或hash模式,在IE9中自動降級
  • 自定義的滾動條行為
  • 安裝vue-router

    基于第一個vue-cli進行測試學習;先查看node_modules中是否存在 vue-router
    ?vue-router 是一個插件包,所以我們還是需要用 npm/cnpm 來進行安裝的。打開命令行工具,進入你的項目目錄,輸入下面命令。

    npm install vue-router --save-dev

    安裝完之后去node_modules路徑看看是否有vue-router信息 有的話則表明安裝成功

    vue-router demo

    1. 將之前案例由vue-cli生成的案例用idea打開
    2. 清理不用的東西 assert下的logo圖片 component定義的helloworld組件 我們用自己定義的組件
    3. 清理代碼 以下為清理之后的代碼 src下的App.vue 和main.js以及根目錄的index.html
    這三個文件的關系是 index.html 調用 main.js 調用 App.vue
    index.html

    <!DOCTYPE html> <html> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"> </head> <body> <div id="app"> </div> </body> </html>

    main.js

    import Vue from 'vue' import App from './App' Vue.config.productionTip = falsenew Vue({el: '#app',components: {App},template: '<App/>' })

    App.vue

    <template><div id="app"></div> </template><script>export default {name: 'App',} </script><style>#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;} </style>

    4. 在components目錄下創建一個自己的組件Content,Test,Main(這兩個和Content內容一樣的就不放示例代碼了)
    Content.vue

    <template><div><h1>內容</h1></div> </template> <script>export default {name: "Content"} </script> <!--scoped :style作用域--> <style scoped> </style>

    5. 安裝路由,在src目錄下,新建一個文件夾 : router,專門存放路由
    index.js(默認配置文件都是這個名字)

    /*** vue router的配置*/ //導入vue和vu-router import Vue from 'vue' import VueRouter from 'vue-router'; //導入組件 import Content from "../components/Content"; import Main from "../components/Main"; import Test from "../components/Test"; //安裝路由 Vue.use(VueRouter)//配置導出路由 export default new VueRouter({routes: [//Content組件{// 路由的路徑path: '/content',name: 'content',// 跳轉的組件component: Content},//Main組件{// 路由的路徑path: '/main',name: 'main',// 跳轉的組件component: Main},//Test組件{// 路由的路徑path: '/test',name: 'test',// 跳轉的組件component: Test}] });

    6. 在main.js中配置路由
    main.js

    import Vue from 'vue' import App from './App' //自動掃描里面的路由配置 import router from "./router";Vue.config.productionTip = falsenew Vue({el: '#app',//配置路由router,components: {App},template: '<App/>' })

    7. 在App.vue中使用路由
    App.vue

    <template><div id="app"><h1>vue-router</h1><!--a標簽 to就是href屬性--><router-link to="/main">首頁</router-link><router-link to="/content">內容頁</router-link><router-link to="/test">測試頁</router-link><!—這個標簽就是用來展示視圖--><router-view></router-view></div> </template> <script>export default {name: 'App',} </script> <style>#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;} </style>

    8. 啟動測試一下 : npm run dev
    9. 效果圖如下
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-v94G15t2-1609930142546)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106141248026.png)]

    圖 vue-router效果圖

    vue+elementUI實戰

    根據之前創建vue-cli項目一樣再來一遍 創建項目
    1. 創建一個名為 hello-vue 的工程 vue init webpack hello-vue
    2. 安裝依賴,我們需要安裝 vue-router、element-ui、sass-loader 和 node-sass 四個插件

    # 進入工程目錄 cd hello-vue # 安裝 vue-router npm install vue-router --save-dev # 安裝 element-ui cnpm i element-ui -S # 安裝依賴 npm install # 安裝 SASS 加載器 cnpm install sass-loader node-sass --save-dev # 啟動測試 npm run dev

    3. 創建成功后用idea打開,并刪除凈東西 創建views和router文件夾用來存放視圖和路由

    圖 整體目錄結構

    4. 在views創建Main.vue
    Main.vue

    <template><h1>首頁</h1> </template> <script>export default {name: "Main"} </script> <style scoped> </style>

    5. 在views中創建Login.vue視圖組件
    Login.vue(用的餓了么UI中的代碼)

    <template><div><el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"><el-form-item label="密碼" prop="pass"><el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input></el-form-item><el-form-item label="確認密碼" prop="checkPass"><el-input type="password" v-model="ruleForm.checkPass" autocomplete="off"></el-input></el-form-item><el-form-item label="年齡" prop="age"><el-input v-model.number="ruleForm.age"></el-input></el-form-item><el-form-item><el-button type="primary" @click="submitForm('ruleForm')">提交</el-button><el-button @click="resetForm('ruleForm')">重置</el-button></el-form-item></el-form></div> </template><script>export default {data() {var checkAge = (rule, value, callback) => {if (!value) {return callback(new Error('年齡不能為空'));}setTimeout(() => {if (!Number.isInteger(value)) {callback(new Error('請輸入數字值'));} else {if (value < 18) {callback(new Error('必須年滿18歲'));} else {callback();}}}, 1000);};var validatePass = (rule, value, callback) => {if (value === '') {callback(new Error('請輸入密碼'));} else {if (this.ruleForm.checkPass !== '') {this.$refs.ruleForm.validateField('checkPass');}callback();}};var validatePass2 = (rule, value, callback) => {if (value === '') {callback(new Error('請再次輸入密碼'));} else if (value !== this.ruleForm.pass) {callback(new Error('兩次輸入密碼不一致!'));} else {callback();}};return {ruleForm: {pass: '',checkPass: '',age: ''},rules: {pass: [{ validator: validatePass, trigger: 'blur' }],checkPass: [{ validator: validatePass2, trigger: 'blur' }],age: [{ validator: checkAge, trigger: 'blur' }]}};},methods: {submitForm(formName) {this.$refs[formName].validate((valid) => {if (valid) {alert('submit!');} else {console.log('error submit!!');return false;}});},resetForm(formName) {this.$refs[formName].resetFields();}}} </script><style lang="scss" scoped></style>

    6. 創建路由,在 router 目錄下創建一個名為 index.js 的 vue-router 路由配置文件
    index.js

    //導入vue import Vue from 'vue'; import VueRouter from 'vue-router'; //導入組件 import Main from "../views/Main"; import Login from "../views/Login"; //使用 Vue.use(VueRouter); //導出 export default new VueRouter({routes: [{//登錄頁path: '/main',component: Main},//首頁{path: '/login',component: Login},]})

    7. 在main.js中配置相關
    main.js是index.html調用的 所以基本上所有東西都導出到這
    一定不要忘記掃描路由配置并將其用到new Vue中

    import Vue from 'vue' import App from './App' //掃描路由配置 import router from "./router" //導入elementUI import ElementUI from "element-ui" //導入element css import 'element-ui/lib/theme-chalk/index.css' //使用 Vue.use(router) Vue.use(ElementUI) Vue.config.productionTip = false new Vue({el: '#app',router,render: h => h(App),//ElementUI規定這樣使用 })

    8. 在App.vue中配置顯示視圖
    App.vue

    <template><div id="app"><!--展示視圖--><router-view></router-view></div> </template> <script>export default {name: 'App',} </script>

    9. 最后效果
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SKr67zGQ-1609930142548)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20210106152119141.png)]

    圖 vue+elementUI實戰效果圖

    測試:在瀏覽器打開 http://localhost:8080/#/login

    sass-loader的版本過高

    如果出現錯誤: 可能是因為sass-loader的版本過高導致的編譯錯誤,當前最高版本是8.0.2,需要退回到7.3.1 ;
    去package.json文件里面的 "sass-loader"的版本更換成7.3.1,然后重新cnpm install就可以了;

    路由嵌套

    嵌套路由又稱子路由,在實際應用中,通常由多層嵌套的組件組合而成。
    demo
    1、 創建用戶信息組件,在 views/user 目錄下創建一個名為 Profile.vue 的視圖組件;
    Profile.vue

    <template><h1>個人信息</h1> </template> <script>export default {name: "UserProfile"} </script> <style scoped> </style>

    2、在用戶列表組件在 views/user 目錄下創建一個名為 List.vue 的視圖組件;
    List.vue

    <template><h1>用戶列表</h1> </template> <script>export default {name: "UserList"} </script> <style scoped> </style>

    3、 修改首頁視圖,我們修改 Main.vue 視圖組件,此處使用了 ElementUI 布局容器組件,代碼如下:
    Main.vue

    <template><div><el-container><el-aside width="200px"><el-menu :default-openeds="['1']"><el-submenu index="1"><template slot="title"><i class="el-icon-caret-right"></i>用戶管理</template><el-menu-item-group><el-menu-item index="1-1"><!--插入的地方--><router-link to="/user/profile">個人信息</router-link></el-menu-item><el-menu-item index="1-2"><!--插入的地方--><router-link to="/user/list">用戶列表</router-link></el-menu-item></el-menu-item-group></el-submenu><el-submenu index="2"><template slot="title"><i class="el-icon-caret-right"></i>內容管理</template><el-menu-item-group><el-menu-item index="2-1">分類管理</el-menu-item><el-menu-item index="2-2">內容列表</el-menu-item></el-menu-item-group></el-submenu></el-menu></el-aside><el-container><el-header style="text-align: right; font-size: 12px"><el-dropdown><i class="el-icon-setting" style="margin-right: 15px"></i><el-dropdown-menu slot="dropdown"><el-dropdown-item>個人信息</el-dropdown-item><el-dropdown-item>退出登錄</el-dropdown-item></el-dropdown-menu></el-dropdown></el-header><el-main><!--在這里展示視圖--><router-view /></el-main></el-container></el-container></div> </template> <script>export default {name: "Main"} </script> <style scoped lang="scss">.el-header {background-color: #B3C0D1;color: #333;line-height: 60px;}.el-aside {color: #333;} </style>

    4、 配置嵌套路由修改 router 目錄下的 index.js 路由配置文件,使用children放入main中寫入子模塊,代碼如下
    index.js

    //導入vue import Vue from 'vue'; import VueRouter from 'vue-router'; //導入組件 import Main from "../views/Main"; import Login from "../views/Login"; //導入子模塊 import UserList from "../views/user/List"; import UserProfile from "../views/user/Profile";//使用 Vue.use(VueRouter); //導出 export default new VueRouter({routes: [{//登錄頁path: '/main',component: Main,// 寫入子模塊children: [{path: '/user/profile',component: UserProfile,}, {path: '/user/list',component: UserList,},]},//首頁{path: '/login',component: Login},] })

    5、 路由嵌套實戰效果圖

    圖 路由嵌套效果圖

    參數傳遞

    這里演示如果請求帶有參數該怎么傳遞
    demo
    ?用的還是上述例子的代碼 修改一些代碼 這里不放重復的代碼了

    第一種取值方式

    1、 修改路由配置, 主要是router下的index.js中的 path 屬性中增加了 :id 這樣的占位符

    {path: '/user/profile/:id', name:'UserProfile', component: UserProfile }

    2、傳遞參數
    ?此時我們在Main.vue中的route-link位置處 to 改為了 :to,是為了將這一屬性當成對象使用,注意 router-link 中的 name 屬性名稱 一定要和 路由中的 name 屬性名稱 匹配,因為這樣 Vue 才能找到對應的路由路徑;

    <!--name是組件的名字 params是傳的參數 如果要傳參數的話就需要用v:bind:來綁定--> <router-link :to="{name:'UserProfile',params:{id:1}}">個人信息</router-link>

    3、在要展示的組件Profile.vue中接收參數 使用 {{$route.params.id}}來接收
    Profile.vue 部分代碼

    <template><!-- 所有的元素必須在根節點下--><div><h1>個人信息</h1>{{$route.params.id}}</div> </template>

    第二種取值方式 (props )

    使用props 減少耦合
    1、修改路由配置 , 主要在router下的index.js中的路由屬性中增加了 props: true 屬性

    {path: '/user/profile/:id', name:'UserProfile', component: UserProfile, props: true }

    2、傳遞參數和之前一樣 在Main.vue中修改route-link地址

    <!--name是組件的名字 params是傳的參數 如果要傳參數的話就需要用v:bind:來綁定--> <router-link :to="{name:'UserProfile',params:{id:1}}">個人信息</router-link>

    3、在Profile.vue接收參數為目標組件增加 props 屬性
    Profile.vue

    <template><div>個人信息{{ id }}</div> </template> <script>export default {props: ['id'],name: "UserProfile"} </script> <style scoped> </style>

    圖 傳參效果圖

    組件重定向

    重定向的意思大家都明白,但 Vue 中的重定向是作用在路徑不同但組件相同的情況下,比如:
    在router下面index.js的配置

    {path: '/main',name: 'Main',component: Main }, {path: '/goHome',redirect: '/main' }

    說明:這里定義了兩個路徑,一個是 /main ,一個是 /goHome,其中 /goHome 重定向到了 /main 路徑,由此可以看出重定向不需要定義組件;

    使用的話,只需要在Main.vue設置對應路徑即可;

    <el-menu-item index="1-3"><router-link to="/goHome">回到首頁</router-link> </el-menu-item>

    路由模式與 404

    路由模式有兩種

    • hash:路徑帶 # 符號,如 http://localhost/#/login
    • history:路徑不帶 # 符號,如 http://localhost/login

    修改路由配置,代碼如下:

    export default new Router({mode: 'history',routes: [] });

    404 demo
    1.創建一個NotFound.vue視圖組件
    NotFound.vue

    <template><div><h1>404,你的頁面走丟了</h1></div> </template> <script>export default {name: "NotFound"} </script> <style scoped> </style>

    2.修改路由配置index.js

    import NotFound from '../views/NotFound' {path: '*',component: NotFound }

    3.效果圖

    圖 404效果圖

    路由鉤子與異步請求

    beforeRouteEnter:在進入路由前執行
    beforeRouteLeave:在離開路由前執行

    在Profile.vue中寫

    export default {name: "UserProfile",beforeRouteEnter: (to, from, next) => {console.log("準備進入個人信息頁");next();},beforeRouteLeave: (to, from, next) => {console.log("準備離開個人信息頁");next();}}

    參數說明:
    to:路由將要跳轉的路徑信息
    from:路徑跳轉前的路徑信息
    next:路由的控制參數
    next() 跳入下一個頁面
    next(’/path’) 改變路由的跳轉方向,使其跳到另一個路由
    next(false) 返回原來的頁面
    next((vm)=>{}) 僅在 beforeRouteEnter 中可用,vm 是組件實例

    在鉤子函數中使用異步請求

    1、安裝 Axios

    cnpm install --save vue-axios

    2、main.js引用 Axios

    import axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, axios)

    3、準備數據 : 只有我們的 static 目錄下的文件是可以被訪問到的,所以我們就把靜態文件放入該目錄下。
    數據和之前用的json數據一樣 需要的去上述axios例子里

    // 靜態數據存放的位置 static/mock/data.json

    4.在 beforeRouteEnter 中進行異步請求
    Profile.vue

    export default {//第二種取值方式// props:['id'],name: "UserProfile",//鉤子函數 過濾器beforeRouteEnter: (to, from, next) => {//加載數據console.log("進入路由之前")next(vm => {//進入路由之前執行getData方法vm.getData()});},beforeRouteLeave: (to, from, next) => {console.log("離開路由之前")next();},//axiosmethods: {getData: function () {this.axios({method: 'get',url: 'http://localhost:8080/static/mock/data.json'}).then(function (response) {console.log(response)})}}}

    5.路由鉤子和axios結合圖

    圖 效果圖

    總結

    以上是生活随笔為你收集整理的Vue(笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    在线99 | 三级免费黄 | 日韩免费三区 | av千婊在线免费观看 | 国产一二三四在线观看视频 | 国产美女精彩久久 | 69精品| 欧美男男激情videos | 91豆麻精品91久久久久久 | 亚洲激精日韩激精欧美精品 | 免费观看版 | 中文字幕a∨在线乱码免费看 | 亚洲黄色av网址 | 久草网站在线观看 | 国产视频精品免费 | 亚洲视频在线播放 | 97精品国产aⅴ | 国产免费一区二区三区最新 | 91成人精品国产刺激国语对白 | 成人在线免费观看视视频 | 久久香蕉电影网 | 中文字幕网址 | a爱爱视频 | 九九九视频在线 | www.五月婷婷| 国产成人福利在线观看 | 久久久网页 | 国产精品6| 婷婷干五月| 国内精品久久久 | 成人午夜电影在线 | 日韩精品一区二区在线视频 | 又湿又紧又大又爽a视频国产 | 中文字幕免费 | 五月婷婷丁香在线观看 | 久久久久观看 | 婷婷色网站 | 亚洲mv大片欧洲mv大片免费 | 999成人免费视频 | 香蕉视频18 | 亚洲一区 影院 | 国产不卡免费视频 | 中文字幕在线播放日韩 | 精品国产1区2区3区 国产欧美精品在线观看 | 色视频网页 | 黄色成人影视 | 午夜成人免费电影 | 久久人人爽人人爽人人片av免费 | 亚洲成av人片在线观看香蕉 | 91在线影院| 久久综合色一综合色88 | 午夜10000 | 黄色片免费电影 | 五月婷婷av在线 | 99免费精品视频 | 国产91免费在线观看 | 欧美,日韩| 日韩欧美电影在线 | 韩国一区在线 | 国产成人免费精品 | 国产性xxxx| 深夜激情影院 | 成人精品99 | 久草在线高清视频 | japanesexxx乱女另类 | 激情网五月婷婷 | 亚洲欧美日韩精品久久久 | 色网免费观看 | 久久精品国产免费看久久精品 | 97免费在线观看 | 免费黄色av电影 | 久草综合视频 | 国产日韩欧美在线 | www.伊人网 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 亚洲视频播放 | 国产精品精品久久久久久 | 波多野结衣在线观看一区 | 久久a级片 | 日韩久久久久久久久久 | 国内视频在线观看 | 中文字幕 影院 | 国产99亚洲 | 亚洲人视频在线 | 国产精品一区二区 91 | 亚洲最大激情中文字幕 | 激情网五月天 | 国产精品免费观看在线 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产一级精品在线观看 | 国产高清精 | 久久免费视频在线 | 国产精品免费在线播放 | 免费合欢视频成人app | 久久夜夜操| 五月婷婷综合在线视频 | 在线视频 一区二区 | 欧美精品乱码久久久久久按摩 | 伊人天堂网 | 日韩av女优视频 | 在线视频成人 | 日本中文不卡 | 国产精品女同一区二区三区久久夜 | 国产成人免费在线观看 | 欧美一级片| 久久亚洲免费视频 | 狠狠精品| 日韩一区二区免费播放 | 日本精品二区 | 91精品一区二区三区久久久久久 | av片中文 | 国产精品一区二区久久精品爱微奶 | 亚洲资源视频 | 久久久久国产a免费观看rela | 97精品一区 | 激情丁香综合 | 精品久久1| 色先锋资源网 | 黄色福利视频网站 | 国产美女精品视频 | 波多野结衣亚洲一区二区 | 国产中文字幕精品 | 美女性爽视频国产免费app | 在线看欧美 | 亚洲成人精品在线观看 | 婷婷精品国产欧美精品亚洲人人爽 | 九九热在线精品视频 | 日韩极品视频在线观看 | 九九热精品在线 | 一级免费黄色 | 五月天丁香 | 久久久私人影院 | 成人av高清 | 亚洲精品99久久久久中文字幕 | 四虎影视欧美 | 国产精品久久久久久久久久新婚 | 日日夜夜免费精品视频 | 久久香蕉电影 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 五月婷婷在线播放 | 十八岁以下禁止观看的1000个网站 | 久久久人 | 精品免费久久久久久 | 91在线免费观看国产 | 亚洲一区二区观看 | 久久免费视频在线观看 | 色偷偷人人澡久久超碰69 | 国产不卡视频在线 | 麻豆视频国产 | 婷婷伊人综合亚洲综合网 | 国产高潮久久 | 色99视频| 日韩欧美成 | www.久久视频| 成人手机在线视频 | 欧美一级特黄aaaaaa大片在线观看 | 中文字幕 国产精品 | 黄色成年片 | 99国产精品免费网站 | 国产视频一区二区在线观看 | 九九久久影视 | 极品中文字幕 | 成人三级网站在线观看 | 伊人天天色 | 麻豆视频免费播放 | 手机看片国产 | 久久综合狠狠综合久久狠狠色综合 | 国产人成精品一区二区三 | 欧美人体xx | 中文字幕高清在线 | 国产韩国日本高清视频 | 欧美人牲 | 98超碰在线观看 | 欧美淫aaa免费观看 日韩激情免费视频 | 亚洲国产中文在线 | www.久草视频| 又爽又黄又无遮挡网站动态图 | 在线观看国产区 | 久久国产精品色av免费看 | 成年人三级网站 | 成人久久影院 | 黄色视屏免费在线观看 | 免费看黄的视频 | 久久色亚洲 | 在线有码中文字幕 | 九九热免费观看 | 亚洲视频 视频在线 | 久草色在线观看 | 在线视频app | 成人久久18免费 | 久久久久婷 | 久久香蕉一区 | 成人三级视频 | 国产精品99精品久久免费 | 欧美日本国产在线观看 | 亚洲成a人片77777潘金莲 | 天天躁日日躁狠狠躁av麻豆 | 久久亚洲热 | 激情深爱.com | 日韩有码在线观看视频 | 五月婷婷丁香综合 | 亚洲国产精品传媒在线观看 | 国产一区免费看 | 天天操天天干天天综合网 | 中文av在线免费观看 | 日韩电影中文,亚洲精品乱码 | 欧美日韩国产一区二 | 国产在线综合视频 | 在线免费黄色av | 91日韩精品| 欧美日韩免费视频 | 日日干网 | 日韩超碰| 九色琪琪久久综合网天天 | 黄色av大片 | 超碰人人草人人 | 国产精品欧美精品 | 亚洲在线高清 | 久久激情五月激情 | 日本99热| 中文字幕免费观看全部电影 | 99国产情侣在线播放 | 日韩电影在线观看一区 | 在线看片a| 国产不卡免费视频 | 99国产精品视频免费观看一公开 | 亚洲黄色一级视频 | av网站在线观看免费 | 中文字幕丝袜制服 | 中日韩欧美精彩视频 | 狠狠色丁香久久婷婷综合五月 | 中文字幕av在线 | 免费看国产精品 | 夜色资源站国产www在线视频 | 国产伦精品一区二区三区照片91 | 日韩激情视频在线观看 | 欧美精品亚洲精品日韩精品 | 成人av电影免费在线播放 | 黄色成人在线观看 | 97理论电影 | 国产在线最新 | www.黄色网.com | 日韩在线观看一区二区 | 日韩特黄一级欧美毛片特黄 | 免费亚洲视频 | 中文字幕a∨在线乱码免费看 | 日韩综合色 | 91色欧美| 亚洲国产日韩精品 | 亚州精品一二三区 | 天天操福利视频 | 欧美日本啪啪无遮挡网站 | 丁香花在线观看视频在线 | 欧美va电影| 99色在线| 久久99精品久久久久久清纯直播 | 亚洲精品视频在线观看免费视频 | 久久免费看a级毛毛片 | 国产精品精品久久久久久 | 国产欧美最新羞羞视频在线观看 | 欧美精品v国产精品 | 色香天天| 精品在线免费视频 | 手机在线看永久av片免费 | 国产精品一区电影 | 九九免费在线观看视频 | av在线com| 欧美精品v国产精品 | 97精品国产97久久久久久春色 | 亚洲成av人片在线观看 | 久久黄色精品视频 | 日本精品一区二区三区在线观看 | 波多野结衣理论片 | 中文字幕 二区 | 夜夜干天天操 | 婷婷久月| 色婷婷综合在线 | 91在线观看视频 | 69精品| 狠狠狠狠狠狠天天爱 | 麻豆精品视频在线 | 三级黄免费看 | 国产视频欧美视频 | 久久久精品成人 | 欧美精品九九99久久 | 天天五月天色 | 午夜a区| 这里有精品在线视频 | 亚洲人av免费网站 | 人人插人人艹 | 天天曰天天射 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 日韩中文字幕亚洲一区二区va在线 | 久久91网 | 成人少妇影院yyyy | 欧美在线一二区 | 蜜桃av人人夜夜澡人人爽 | 日本一区二区不卡高清 | 亚洲最新在线 | 91九色porn在线资源 | 成人av片免费看 | 亚洲黄色网络 | 国产久草在线 | 97视频免费在线 | 国内精品在线一区 | 成年人黄色免费看 | 中文字幕 国产精品 | 青草视频在线播放 | 欧美成人中文字幕 | 伊人资源视频在线 | 久久久久国产成人精品亚洲午夜 | 99久久www| 色欧美成人精品a∨在线观看 | 久久久久久久久影院 | 国产视频一区在线免费观看 | 久操久 | 久久有精品 | 四虎海外影库www4hu | 欧美最猛性xxxx | 永久免费毛片在线观看 | 久久躁日日躁aaaaxxxx | 国产视频一区在线 | 99视频网站 | 国产成人精品一区二区三区福利 | 99精品国产99久久久久久97 | 国产精品免费观看网站 | 97超碰人人澡| 黄色免费国产 | 久久久在线观看 | 麻豆国产精品永久免费视频 | 91视频麻豆视频 | 欧美狠狠操 | 中文字幕在线观看完整版电影 | 992tv成人免费看片 | 国产精品午夜久久 | 美女视频黄色免费 | 五月天婷婷免费视频 | 欧美电影黄色 | 99精品免费久久久久久久久日本 | 欧美性生爱 | 深爱激情久久 | 99视频在线精品免费观看2 | 精品在线亚洲视频 | www.久久精品视频 | 日韩在线视频不卡 | 国产免费不卡 | 亚洲乱亚洲乱亚洲 | 丁香婷婷激情国产高清秒播 | 国产区免费在线 | 欧美一级久久久久 | 96超碰在线| 最近高清中文字幕 | 国产亚洲精品久久久久久网站 | 久久久成人精品 | 成人黄色视 | 69欧美视频 | 青春草视频在线播放 | 天天操天天射天天添 | 中文字幕电影高清在线观看 | 欧美日韩中文在线观看 | 免费黄色a网站 | 69成人在线| 香蕉影院在线播放 | 亚洲精品免费在线播放 | 91成品视频 | 视频福利在线观看 | 国产精品久久久久国产精品日日 | 在线日韩中文字幕 | 五月激情丁香 | 特级毛片在线 | 国产一区二区高清不卡 | 午夜精品一区二区三区免费视频 | 99婷婷 | 日韩二区在线 | 国产伦精品一区二区三区无广告 | 国产精品成人一区二区三区 | 精品免费久久久久久 | 91精品国产91热久久久做人人 | 久久国产午夜精品理论片最新版本 | 国产精品短视频 | 亚洲黄色在线免费观看 | .精品久久久麻豆国产精品 亚洲va欧美 | 国产精品免费视频观看 | 国产美女黄网站免费 | 国产精品视频最多的网站 | 丁香六月五月婷婷 | 国产成在线观看免费视频 | ,午夜性刺激免费看视频 | 精品国产免费人成在线观看 | 中文字幕电影一区 | 中文字幕免费中文 | 在线日韩 | 综合久久久 | 成年人看片 | 天堂网在线视频 | 国产字幕在线看 | 午夜婷婷在线观看 | 五月天综合婷婷 | 久久久三级视频 | 中文字幕在线看 | 国产成人av网站 | 久久情侣偷拍 | 午夜18视频在线观看 | 日韩精品一区二区三区丰满 | 伊人久久五月天 | 香蕉视频网站在线观看 | 午夜精品一区二区三区在线播放 | 久久线视频 | 亚洲精品自在在线观看 | 深夜免费网站 | 日韩在线视频免费观看 | 国产色a在线观看 | 精品国产乱码久久久久久1区2匹 | 久久免费99精品久久久久久 | 午夜久久视频 | 国产亚洲成人精品 | 91你懂的 | 久久9视频| 91看片在线播放 | 又色又爽又黄高潮的免费视频 | 日韩在线视频不卡 | 97超碰人人爱 | 亚洲日本va中文字幕 | 天天·日日日干 | 国产精品免费小视频 | 日韩欧美一区二区在线 | 日韩免费av网址 | 久久男人免费视频 | av短片在线观看 | 日韩精品1区2区 | 夜夜操网| 日本三级全黄少妇三2023 | 人人澡人摸人人添学生av | 国产盗摄精品一区二区 | 精品美女久久久久久免费 | 欧美日韩高清 | 日韩一区二区在线免费观看 | 亚洲精品国 | 国产一级不卡毛片 | 日韩欧美精品在线 | 麻豆系列在线观看 | 日韩视频一区二区 | wwwwww黄 | 毛片黄色一级 | 黄在线免费看 | 久久精品精品电影网 | 欧美特一级 | 夜色.com | 免费观看一区 | 国产精品18久久久久久久久久久久 | 黄色精品国产 | 曰韩在线 | 91免费观看国产 | www.久久久| 91探花系列在线播放 | 91超碰在线播放 | 国产色婷婷精品综合在线手机播放 | av在线免费网站 | 国产精品第7页 | 最新免费av在线 | 国产护士在线 | 粉嫩av一区二区三区四区五区 | 国产亚洲亚洲 | 成人宗合网| 中文在线a∨在线 | 在线播放第一页 | 久久综合精品国产一区二区三区 | 超碰成人网 | 91视频午夜 | 天天做天天爽 | 人人添人人澡人人澡人人人爽 | 97视频在线免费播放 | 久久国产精品久久精品 | 免费福利在线观看 | 成 人 黄 色 视频播放1 | 日本黄色免费网站 | 操久久网| 国产无套一区二区三区久久 | 88av视频 | 婷婷久月 | 久久久久五月天 | 天天操天天操天天操 | 波多野结衣一区二区三区中文字幕 | 亚洲免费在线看 | av片一区 | 久久综合之合合综合久久 | 亚洲 欧美 日韩 综合 | 午夜色婷婷 | 日韩网 | 亚洲高清视频在线播放 | 在线超碰av| 日本中文字幕在线一区 | 亚洲人成人在线 | 黄色av电影网 | 91黄视频在线观看 | 超碰在线中文字幕 | 国产高清在线观看av | av电影免费在线 | 97视频资源 | 成人免费一区二区三区在线观看 | 国产区网址| 国产一区二区午夜 | 一区 在线 影院 | 亚洲精品自在在线观看 | 97在线精品国自产拍中文 | 欧美成人影音 | 91精品国产99久久久久久红楼 | 91精品对白一区国产伦 | 国产福利精品在线观看 | 日韩精品久久久久久 | 2020天天干夜夜爽 | 欧美aⅴ在线观看 | 在线精品视频免费播放 | 成人久久久精品国产乱码一区二区 | av中文字幕在线免费观看 | 毛片网站免费 | 四虎国产精品免费 | 97操操| 精品国产一区二区三区四 | 国产福利午夜 | 日韩素人在线观看 | 91精品啪| 男女啪啪视屏 | 中文字幕精品三区 | 综合久久2023 | 久久免费成人精品视频 | 国产精品麻豆91 | 国产日本在线播放 | 九色精品免费永久在线 | 日韩黄色在线电影 | 九九免费精品视频在线观看 | 99热这里只有精品久久 | av中文字幕在线电影 | .国产精品成人自产拍在线观看6 | 这里只有精品视频在线观看 | 久久国产精品久久国产精品 | 久久九九国产精品 | 最近中文字幕国语免费高清6 | 97操操操 | 91精品国产成人观看 | 黄色网址国产 | 精品久久一区二区 | 久久a v电影 | 美女网站黄在线观看 | 免费在线播放黄色 | 国产精品不卡在线观看 | 国产手机免费视频 | 国产手机在线视频 | 婷婷综合 | 亚洲精品国产区 | 五月天久久婷 | 国产视频中文字幕在线观看 | 成 人 黄 色 片 在线播放 | 五月婷婷在线观看视频 | a在线观看免费视频 | 狠狠躁日日躁狂躁夜夜躁 | 亚洲黄a | 国产精品久久久久久久久岛 | 激情av网| 2019中文字幕第一页 | av免费看av | 99久久这里有精品 | 五月天综合网 | 天天操夜夜操夜夜操 | 久久精品永久免费 | 亚洲1区在线 | 中文字幕精品一区二区精品 | 欧美日韩二三区 | 国产色久 | 国产精品99精品 | 国产精品成久久久久 | 激情在线网址 | 亚洲成人网在线 | 成 人 黄 色 视频播放1 | 日韩免费小视频 | 69av视频在线| 99在线精品观看 | 中文字幕在线播放视频 | 国产打女人屁股调教97 | av天天色 | 日韩影视精品 | 久久久精品国产一区二区 | 中文字幕一区二区三区在线视频 | 日韩在线中文字幕 | 国产精品久久久久久久免费大片 | 精品久久久久久久久久岛国gif | 91成品人影院 | 视频一区二区三区视频 | 香蕉视频亚洲 | 久久免费av电影 | 免费久久精品视频 | 成人午夜影视 | 成人在线免费视频 | 人人爽人人爽人人爽学生一级 | 五月婷婷激情六月 | 亚洲精品在线一区二区 | 美女免费视频观看网站 | www.久久成人 | 午夜体验区 | 91av电影在线| 国产免费久久精品 | 69亚洲视频| 国产黄色片免费观看 | 久久精品中文 | 97色在线观看免费视频 | 91视频在线国产 | 五月天婷婷综合 | av在线永久免费观看 | 精品少妇一区二区三区在线 | 中文字幕在线观看一区二区三区 | 91精彩在线视频 | 国产精品美女久久久久久久久久久 | 国产精品成人免费精品自在线观看 | 有码中文字幕在线观看 | 美腿丝袜av | 午夜视频99 | 99热这里精品 | 麻豆播放 | 欧美精品网站 | 精品一区二区免费在线观看 | 日韩视频www | 亚洲国产精品影院 | 国产午夜精品一区二区三区 | 黄色三级免费片 | 天天插天天干天天操 | 日本精品视频一区二区 | www黄色av| 午夜视频日本 | 久久高视频 | 成人性生交大片免费看中文网站 | 在线不卡中文字幕播放 | 国产精品黑丝在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 天天色视频 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 久久夜色精品国产欧美一区麻豆 | 中文字幕资源在线 | 久久精品视频在线播放 | 国产91精品一区二区麻豆网站 | 人人爽影院 | 丰满少妇对白在线偷拍 | 亚洲黄色高清 | 成人精品一区二区三区电影免费 | 欧美精品三级 | 麻花豆传媒mv在线观看网站 | 日本三级久久 | 国产成人777777| 久久久电影 | 精品久久久久久久久久国产 | 欧美久久久久久久 | 欧美-第1页-屁屁影院 | 精品欧美小视频在线观看 | 免费看的av片 | 丁香花在线观看视频在线 | 久久成人精品电影 | 手机av在线网站 | 久久免费福利 | 在线 你懂 | 在线观看国产麻豆 | 国产精品久久久久久久av电影 | 日韩成人免费在线观看 | 亚洲人成在线观看 | 国产精品2019 | 五月激情在线 | 干干日日 | 99久久精品免费视频 | 国产精品久久久久久久免费 | 国产成人精品午夜在线播放 | 在线播放视频一区 | 久久精品老司机 | 亚洲国产一区在线观看 | 亚洲视频h | 国产成人精品综合 | 二区三区在线观看 | 国产精品久久在线 | 特级片免费看 | 91精品国自产在线 | 99精品国产免费久久久久久下载 | 久久人网 | 美女一级毛片视频 | 手机成人在线电影 | 美女av免费看 | 91看片在线看片 | 免费麻豆视频 | 国产日产精品一区二区三区四区 | av国产在线观看 | 色婷婷久久久综合中文字幕 | 国产高清视频色在线www | 亚洲精品国产日韩 | 精品国产_亚洲人成在线 | 国产精品一区二区av影院萌芽 | 黄色三级在线 | 国产伦理久久精品久久久久_ | 在线精品观看国产 | 亚洲天堂精品视频 | 成人三级网站在线观看 | 亚洲天天看 | 综合久久久久久久 | 中文电影网 | 日韩精品免费在线视频 | se婷婷| 深夜免费小视频 | 91久久丝袜国产露脸动漫 | 91九色视频在线播放 | 国产成人免费av电影 | 欧美日韩国产综合网 | 日韩在线视频线视频免费网站 | 99久久99久久免费精品蜜臀 | 国产亚洲婷婷免费 | 日韩网站免费观看 | 五月婷婷六月综合 | 久久久久99精品国产片 | 久久精品欧美一区 | 久久99最新地址 | 久久久伊人网 | 亚洲成a人片77777kkkk1在线观看 | 欧美日韩高清免费 | 日本黄色黄网站 | 97成人精品视频在线观看 | 国产精品一区二区三区四区在线观看 | 一区二区三区在线免费观看 | 久久久免费在线观看 | 黄色av一级 | 肉色欧美久久久久久久免费看 | 激情丁香婷婷 | 成人久久18免费网站麻豆 | 在线观看免费av片 | 日韩精选在线观看 | 激情在线网址 | 欧美男女爱爱视频 | 成人h视频在线播放 | av一级二级| 成人97视频一区二区 | 亚洲一区 影院 | 一区二区视频免费在线观看 | 色久av| 九九激情视频 | 欧美色图一区 | 久久精品99精品国产香蕉 | 永久av免费在线观看 | 99精品在线观看 | 91色偷偷| 国产一区视频免费在线观看 | 欧美午夜视频在线 | 热99在线视频 | 热久久电影 | 亚洲在线激情 | 国产69久久精品成人看 | 日日夜夜网 | 8x成人免费视频 | 日韩免费高清在线观看 | 永久黄网站色视频免费观看w | 特黄免费av| 五月婷婷,六月丁香 | 不卡视频在线 | 91尤物在线播放 | 福利一区二区三区四区 | 国模一二三区 | 狂野欧美激情性xxxx欧美 | 狠狠狠操 | 高清一区二区三区 | av大片免费在线观看 | av中文字幕网址 | 天堂av影院 | 激情五月婷婷激情 | 91av视频网 | 国产成在线观看免费视频 | 亚洲女人天堂成人av在线 | 久久婷婷一区二区三区 | 91插插插网站 | 国产精品一区二区免费 | 最近更新好看的中文字幕 | 久久r精品 | 午夜精品婷婷 | 国产一区福利在线 | 亚洲国产精品va在线 | 久久久久成人精品 | 亚洲综合色丁香婷婷六月图片 | 亚洲黄色片在线 | 亚洲视频在线观看 | 天天色综合天天 | 中文在线天堂资源 | 国产精品免费不卡 | 六月天综合网 | 亚洲一区精品二人人爽久久 | 91精品毛片 | 亚洲dvd| 天天天天综合 | 一级黄色片毛片 | 久久伊人精品一区二区三区 | 日本中文字幕在线播放 | 国产亚洲精品久久 | 久久久久国产成人免费精品免费 | 亚洲综合欧美日韩狠狠色 | 一区二区三区四区精品视频 | 久久精品一区二区三区视频 | 97精品国产一二三产区 | 91人人干| 激情五月婷婷综合 | 免费av影视 | 色就是色综合 | 中国一级片视频 | 精品国产电影一区二区 | www最近高清中文国语在线观看 | 久久人91精品久久久久久不卡 | av免费在线观看网站 | 天天干天天操av | 91精品国产成 | 日韩免费福利 | 国产精品久久久区三区天天噜 | 国产午夜精品一区二区三区在线观看 | 国产一区二区播放 | 五月激情丁香图片 | 亚洲蜜桃在线 | 五月天激情视频在线观看 | 久久精品欧美一区二区三区麻豆 | 91超级碰 | 国产91精品一区二区麻豆亚洲 | 日韩成人av在线 | 99免费精品 | 一区二区 精品 | 国产精品久久久久久超碰 | 91大神精品视频在线观看 | 亚洲日日日 | 91免费高清观看 | 亚洲精品影视 | 韩日三级av | 久久精品美女视频网站 | 日本精品一区二区三区在线观看 | 国产精品亚洲综合久久 | 99产精品成人啪免费网站 | 国产97av| 国产精品成人久久久 | 亚洲激情小视频 | 99久久精品免费看国产免费软件 | 在线免费观看黄色av | 五月天亚洲精品 | 欧美国产日韩一区二区三区 | 亚洲春色奇米影视 | 夜夜婷婷 | 欧美xxxx性xxxxx高清 | 国产在线观看免费观看 | 免费久久久| 中文字幕在线观看完整版电影 | 国内精品久久久久久久久久清纯 | 91.精品高清在线观看 | 亚洲色图激情文学 | 五月婷婷激情综合网 | 狠狠色综合网站久久久久久久 | 美女黄视频免费 | 国产精品毛片久久久久久久久久99999999 | 在线观看中文字幕网站 | 日本中文字幕免费观看 | 亚洲精品国产第一综合99久久 | 色停停五月天 | 一区二区三区在线电影 | 亚洲乱亚洲乱亚洲 | 色av色av色av| a久久免费视频 | 一区二区不卡高清 | 草久视频在线 | 天天综合婷婷 | 怡春院av | 国产香蕉视频在线播放 | 亚洲精品xxx | 99视频精品免费视频 | 悠悠av资源片 | 区一区二区三在线观看 | 成人va视频| 99色在线| 69视频在线播放 | 在线免费观看国产黄色 | 亚洲一区二区天堂 | 久久歪歪| 国产精品com | 色婷婷综合久久久久中文字幕1 | 亚洲激情av| 亚洲综合欧美激情 | 四虎亚洲精品 | 99色| 婷婷五月情 | 中文字幕高清av | 久草在线视频首页 | 国产精品久久久久久久久久白浆 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 免费av成人在线 | 欧美性受极品xxxx喷水 | 亚洲丝袜中文 | 在线视频免费观看 | 日韩a在线 | 中文字幕在线观看资源 | 国产午夜三级一区二区三桃花影视 | 黄色特一级 | 精品国产乱码久久久久久浪潮 | 国产99爱 | 国产在线观看,日本 | 婷婷福利影院 | 欧美一级爽| 97超视频 | 五月婷婷婷婷婷 | 午夜日b视频 | 久久久精品久久日韩一区综合 | 天天操天天爱天天干 | 成人午夜电影在线播放 | 日韩美女免费线视频 | 亚洲精品视频观看 | 国产精品久久久久久久免费 | 天天色天天干天天 | 久久久久97国产 | 992tv在线观看网站 | 日韩av影片在线观看 | 91亚洲精品国偷拍自产在线观看 | 亚洲天堂视频在线 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚一亚二国产专区 | 超碰人人99| 欧美韩国日本在线观看 | 亚洲精选在线观看 | 欧美激情精品久久 | 中国精品少妇 | 亚洲精品午夜久久久久久久 | 久久国产精品99精国产 | 久久9999久久| 丁香婷婷网 | 美国三级黄色大片 | 精品99免费| 最近2019中文免费高清视频观看www99 | 69亚洲乱 | 国产女人免费看a级丨片 | 337p日本欧洲亚洲大胆裸体艺术 | 密桃av在线 | 成人久久久久久久久久 | 国产日韩精品一区二区在线观看播放 | 日日碰狠狠添天天爽超碰97久久 | 日韩精品免费一区二区 | 在线影院av | 国产精品6999成人免费视频 | 亚洲少妇激情 | 91福利社区在线观看 | 久久亚洲私人国产精品 | 91精品一区二区三区蜜桃 | 亚洲成年片 | 国内精品免费久久影院 | 青草草在线视频 | 玖玖综合网 | 亚洲精品国偷拍自产在线观看蜜桃 | 天天综合五月天 | 日韩高清在线一区二区三区 | 亚州日韩中文字幕 | 日韩美精品视频 | 日本黄色免费在线 | 日日爽天天 | 亚洲精品黄网站 | 一区二区三区免费在线播放 | 天天爱天天操天天射 | 亚洲精品免费在线视频 | 韩日精品在线 | 成人在线视频网 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久久91精品国产 | 成人av在线观 | 天天操天天射天天舔 | 91成人免费在线 | 成年人视频免费在线 | 欧美 日韩 视频 | 91视频亚洲 | 久久精品视频免费 | 国产精品美女毛片真酒店 | 日日躁你夜夜躁你av蜜 | 国产日韩欧美网站 | 国产精品va在线观看入 | 特级毛片aaa | 国产成人一级电影 | 精品视频在线免费 | 91看片淫黄大片一级在线观看 | 国产高清一 | 国产精品一区二 | 久久精品视频4 | 草久在线播放 | 久久久久99精品成人片三人毛片 | 不卡的av在线播放 | 麻豆mv在线观看 | 久久国产成人午夜av影院潦草 | 国产在线播放不卡 | 亚洲第一中文网 | 午夜精品三区 | 91亚洲精品国偷拍 | 亚洲欧美日韩国产一区二区 | 久久精品久久久久电影 | 日韩大片在线免费观看 | av888av.com | 黄色一级动作片 | 亚洲五月综合 | 亚洲精品在线电影 | 亚洲一区 av | 国产成人精品日本亚洲999 | 日韩在线 一区二区 | 9在线观看免费高清完整版 玖玖爱免费视频 |