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

歡迎訪問 生活随笔!

生活随笔

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

vue

一篇文章带你了解网页框架——Vue简单入门

發布時間:2023/12/20 vue 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一篇文章带你了解网页框架——Vue简单入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章將會介紹我們前端入門級別的框架——Vue的簡單使用

如果你以后想從事后端程序員,又想要稍微了解前端框架知識,那么這篇文章或許可以給你帶來幫助

溫馨提醒:在學習該文章前,請先學習HTML,CSS,JavaScript,Ajax等前端知識

Vue基礎

首先,我們從官方文檔中可以得到下述描述:

  • Vue是一套用于構建用戶界面的漸進式框架。
  • Vue的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。
  • 另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用提供驅動。

其中我們需要格外注意的是:

  • Vue只負責前端頁面的設計,并不能完全實現前端的所有功能

Vue主要特點:

  • 采用JavaScript框架

  • 簡化Dom操作

  • 響應式數據驅動

VsCode插件推薦

在正式開始介紹Vue之前,我想向大家安利一個VsCode插件——Live Server

Live Server 插件可以同步代碼和網頁的更新:

  • 當你保存代碼時,你的頁面將會同步進行刷新,省略了手動點擊頁面的步驟,在開發中提供便利

Vue代碼框架

首先我們需要學會Vue的基本使用

  • 導入相關包
  • <!--Vue為我們提供了兩個版本,我們通常采用開發環境版本,具有檢錯功能便于學習--><!-- 開發環境版本,包含了有幫助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><!-- 生產環境版本,優化了尺寸和速度 --> <script src="https://cdn.jsdelivr.net/npm/vue"></script>
  • 基本框架使用
  • <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Vue基礎</title> </head><body><!--首先我們創建一個div,并綁定id為app--> <div id="app"><!--我們采用{{}}來調用相關Vue中的data中存放的數據-->{{ message }}</div><!-- 導入vue:開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><!--書寫js代碼--><script><!-- 以下為vue基本框架 new Vue({el,data,method})-->var app = new Vue({<!--el實現掛載點-->el:"#app",<!--data存放相關數據-->data:{<!--數據屬性-->message:" 你好 小黑! "}})</script> </body></html>

    EL掛載點介紹

    學習過Vue的基本使用后,我們先對EL掛載點做出最基本的介紹:

    • EL掛載點負責設置頁面中屬性與Vue屬性的連接
    • EL掛載點設置后,頁面屬性可以調用Vue中的數據(data)和方法(method)

    EL掛載點注意點:

    • Vue的作用范圍在EL掛載點的本體元素以及后代元素中
    • Vue的EL掛載點可以依賴于各種選擇器,例如類選擇器等,但推薦使用ID選擇器
    • Vue的EL掛載點不可以作用在HTML和BODY兩個頁面最大元素上

    我們給出簡單示例:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>el:掛載點</title> </head><body id="body"><!--這里的{{ message }}不會有所顯示,因為未與Vue連接--> {{ message }}<h2 id="app" class="app"><!-- 這里的{{ message }}會顯示,因為屬于Vue連接本體--> {{ message }}<!-- 這里的{{ message }}會顯示,因為屬于Vue連接后代元素--><span> {{ message }} </span></h2><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({// 以下均可使用,// el:"#app",// el:".app",// el:"div",// body無法連接el:"#body",data:{message:"秋落"}})</script> </body></html>

    Data數據對象介紹

    學習過Vue的基本使用后,我們對Data做出最基本的介紹:

    • Data用于存儲頁面元素中使用的各類屬性
    • 屬性可以包括各種類型,例如文本,數組等復雜類型
    • 渲染復雜類型數據時,遵循JavaScript的語法基本都可以使用

    我們給出簡單示例:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>data:數據對象</title> </head><body><div id="app"><!--使用{{}}調用data數據-->{{ message }}<!--對象采用.來調用內部元素--><h2> {{ school.name }} {{ school.mobile }}</h2><ul><!--數組采用[index]來選擇內部元素--><li>{{ campus[0] }}</li><li>{{ campus[3] }}</li></ul></div><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{message:"你好!",school:{name:"河南師范大學",mobile:"0373-3325000"},campus:["東校區","西校區","新鄉校區","平原湖校區"]}})</script> </body></html>

    Vue本地應用

    在介紹了Vue的基本使用后,我們針對Vue內部的各種屬性方法來做出一一介紹

    每條屬性或方法我們都會給出解釋和相關案例

    v-text

    文本解釋:

    v-text:設置標簽的文本值

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-text指令</title> </head><body><div id="app"><!--我們采用v-text來設置標簽內文本,注意會覆蓋掉內部文本,“深圳”將不再顯示--><h2 v-text="message+'!'">深圳</h2><h2 v-text="info+'!'">深圳</h2><!--另一種文本書寫方式{{}}--><h2>{{ message +'!'}}深圳</h2></div><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{message:"河南師范大學",info:"軟件學院"}})</script> </body></html>

    v-html

    文本解釋:

    v-html:以html的格式來設置標簽的文本值

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-html指令</title> </head><body><!--v-html:設置元素的innerHTML--><!--采用v-html后顯示的是河南師范大學的加粗版,但采用v-text后顯示的是<strong>河南師范大學</strong>--><div id="app" v-html="context"></div><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{content:"<strong>河南師范大學</strong>"}})</script> </body></html>

    v-on

    文本解釋:

    v-on:為元素綁定事件,可以采用@代替

    代碼解釋:

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-on</title> </head> <body><div id="app"><!--v-on:后面跟事件名 用于綁定事件 可以用@代替 后面用methods中的方法即可--><input type="button" value="點擊" v-on:click="doIt"><input type="button" value="點擊" @click="doIt"></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",methods:{doIt:function(){alert("河南師范大學");}}})</script> </body> </html>

    v-show

    文本解釋:

    v-show:根據表達值的真假,切換元素的顯示和隱藏(隱藏后源代碼仍存在)

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>v-show指令</title></head><body><div id="app"><!--點擊后改變isShow的值,將isShow變為true或false,以此控制img的顯示與隱藏--><input type="button" value="切換顯示狀態" @click="changeIsShow"><!--點擊增加年齡值--><input type="button" value="累加年齡" @click="addAge"><!--v-show用于控制元素的存在或隱藏,這里采用isShow變量,根據isShow的值來判斷是否存在--><img v-show="isShow" src="./img/monkey.gif" alt=""><!--根據年齡值大小控制元素的存在或隱藏,只是為了表示v-show的參數需要是一個true或false的判定--><img v-show="age>=18" src="./img/monkey.gif" alt=""></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{isShow:false,age:17},methods: {// 進行 isShow 的true或false更改changeIsShow:function(){this.isShow = !this.isShow;},addAge:function(){this.age++;}},})</script></body> </html>

    v-if

    文本解釋:

    v-if:根據表達值的真假,切換元素的顯示和隱藏(隱藏后,源代碼不存在)

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-if指令</title> </head> <body><div id="app"><!--以下操作實際效果同v-show相同,但隱藏后在頁面的展示欄中無法看到源代碼,屬于徹底隱藏--><input type="button" value="切換顯示" @click="toggleIsShow"><p v-if="isShow">河南師范大學</p><p v-show="isShow">河南師范大學 - v-show修飾</p><h2 v-if="temperature>=35">熱死啦</h2></div><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{isShow:false,temperature:20},methods: {toggleIsShow:function(){this.isShow = !this.isShow;}},})</script> </body></html>

    v-bind

    文本解釋:

    v-bind:設置元素的屬性(比如:src,title。class)

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-bind指令</title><style>.active{border: 1px solid red;}</style> </head><body><!--v-bind通常可以隱藏,直接寫 :屬性 即可--><div id="app"><!--這里采用v-bind設置頁面圖片--><img v-bind:src="imgSrc" alt=""><br><!--這里采用v-bind略寫方式設置頁面圖片,后面采用 data 變量控制圖片展示--><!--同樣采用v-bind控制title,class等屬性,采用三元運算符來控制active--><img :src="imgSrc" alt="" :title="imgTitle+'!!!'" :class="isActive?'active':''" @click="toggleActive"><br><!--通過點擊事件來控制class--><img :src="imgSrc" alt="" :title="imgTitle+'!!!'" :class="{active:isActive}" @click="toggleActive"></div><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{imgSrc:"http://www.itheima.com/images/logo.png",imgTitle:"黑馬程序員",isActive:false},methods: {toggleActive:function(){this.isActive = !this.isActive;}},})</script> </body></html>

    v-for

    文本解釋:

    v-for:根據數據生成列表結構

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-for指令</title> </head><body><div id="app"><!--簡單的添加刪除操作,針對h2的數據--><input type="button" value="添加數據" @click="add"><input type="button" value="移除數據" @click="remove"><ul><!--簡單v-for,參數為(數據名稱[任起],下標[index]) in data數組--><li v-for="(it,index) in arr"><!--在內部,可以使用數據名稱和下標值-->{{ index+1 }}城市推薦:{{ it }}</li></ul><!--數組中裝有對象也是同樣的使用方法--><h2 v-for="item in vegetables" v-bind:title="item.name">{{ item.name }}</h2></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{arr:["北京","上海","廣州","深圳"],vegetables:[{name:"魚"},{name:"雞"}]},methods: {add:function(){this.vegetables.push({ name:"紅燒魚" });},remove:function(){this.vegetables.shift();}},})</script> </body></html>

    v-on+

    文本解釋:

    v-on+:補充v-on的部分知識點

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-on補充</title> </head><body><div id="app"><!--方法中可以攜帶參數,正常調用即可--><input type="button" value="點擊" @click="doIt(666,'老鐵')"><!--可以選取事件的部分事件做反應,例如@keyup.enter就是點擊enter鍵生效,我們通常采用"."來表示事件限制--><input type="text" @keyup.enter="sayHi"></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",methods: {doIt:function(p1,p2){console.log("做it");console.log(p1);console.log(p2);},sayHi:function(){alert("吃了沒");}},})</script> </body></html>

    v-model

    文本解釋:

    v-model:實現雙向綁定,便捷設置

    代碼解釋:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>v-model指令</title> </head><body><div id="app"><!--點擊按鈕實現setM方法--><input type="button" value="修改message" @click="setM"><!--我們將文本內容與message數據雙向綁定--><!--當我們修改文本的值時,VsCode中的代碼不會發生變化,但實際上message已經發生變化,我們將message的值單獨列出來--><input type="text" v-model="message" @keyup.enter="getM"><!--當上述message發生改變時,message本身發生變化,那么調用它的顯示值也發生變化--><h2>{{ message }}</h2></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{message:"河南師范大學"},methods: {getM:function(){alert(this.message);},setM:function(){this.message ="軟件學院";}},})</script> </body></html>

    案例:計算器

    下面我們通過一個案例來鞏固前面所學習的一些知識點

    案例要求:

    • 我們希望通過"-"和"+"控制中間數字的大小(最小為0,最大為10)

    知識點復習:

    • EL掛載點,Data數據,Methods方法
    • v-on,v-text方法

    代碼展示:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>計算器</title><!--css配置--><style>#app {width: 480px;height: 100px;margin: 200px auto;}.input-num {margin-top: 20px;height: 100%;display: flex;border-radius: 10px;overflow: hidden;box-shadow: 0 0 4px black;}.input-num button {width: 150px;height: 100%;font-size: 40px;color: gray;cursor: pointer;border: none;outline: none;}.input-num span {height: 100%;font-size: 40px;flex: 1;text-align: center;line-height: 100px;}</style></head><body><!--index主頁--><!--設置Vue的id綁定--><div id="app"><img src="http://www.itheima.com/images/logo.png" alt="" /><!-- 計數器 --><div class="input-num"><!--綁定事件sub--><button @click="sub"> - </button><!--數字展示--><span>{{ num }}</span><!--綁定事件add--><button @click="add"> + </button></div></div></body></html><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><!-- 編碼 --> <script>/*1. data中定義num屬性,類型是數字,渲染到2個按鈕中間2. 減號綁定點擊事件,對應的方法名叫sub,大于0之前遞減3. 加號綁定點擊事件,對應的方法名叫add,小于0之前累加*/// 創建Vue實例var app = new Vue({el: "#app",data: {// 修改的數字num:1},methods: {// 減sub:function(){// 遞減if(this.num>0){this.num--;}else{alert("數字最小為0");}},// 加add:function(){// 累加if(this.num<10){this.num++;}else{alert("數字最大為10");}}}}); </script>

    案例:圖片切換

    下面我們通過一個案例來鞏固前面所學習的一些知識點

    案例要求:

    • 我們通過點擊左右兩邊的圖片切換符號來切換中間圖片

    知識點復習:

    • EL掛載點,Data數據,Methods方法
    • v-on,v-show,v-bind方法

    代碼展示:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>Document</title><!--css樣式在下面單列--><link rel="stylesheet" href="./css/index.css" /></head><body><div id="mask"><div class="center"><h2 class="title"><img src="./images/logo.png" alt=""> 學校環境 </h2><!--展示圖片,切換的中心點--><img :src="imgList[index]" alt="" /><!--左轉圖片--><!--添加綁定事件prev,用于圖片的切換--><!--添加v-show,當左側無圖片時,隱藏--><ahref="javascript:void(0)"@click="prev"class="left"v-show="index>0"><img src="./images/prev.png" alt="" /></a><!--右轉圖片--><!--添加綁定事件right,用于圖片的切換--><!--添加v-show,當右側無圖片時,隱藏--><ahref="javascript:void(0)"@click="next"class="right"v-show="index<imgList.length-1"><img src="./images/next.png" alt="" /></a></div></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>const app = new Vue({el: "#mask",data: {// 圖片元素imgList: ["./images/00.jpg","./images/01.jpg","./images/02.jpg","./images/03.jpg","./images/04.jpg","./images/05.jpg","./images/06.jpg","./images/07.jpg","./images/08.jpg","./images/09.jpg","./images/10.jpg",],// 圖片序號index: 0},methods: {// 上一張prev() {this.index--;},// 下一張next() {this.index++;}}});</script></body> </html> * {margin: 0;padding: 0; }html, body, #mask {width: 100%;height: 100%; }#mask {background-color: #c9c9c9;position: relative; }#mask .center {position: absolute;background-color: #fff;left: 50%;top: 50%;transform: translate(-50%, -50%);padding: 10px; } #mask .center .title {position: absolute;display: flex;align-items: center;height: 56px;top: -61px;left: 0;padding: 5px;padding-left: 10px;padding-bottom: 0;color: rgba(175, 47, 47, 0.8);font-size: 26px;font-weight: normal;background-color: white;padding-right: 50px;z-index: 2; } #mask .center .title img {height: 40px;margin-right: 10px; }#mask .center .title::before {content: "";position: absolute;width: 0;height: 0;border: 65px solid;border-color: transparent transparent white;top: -65px;right: -65px;z-index: 1; }#mask .center > img {display: block;width: 700px;height: 458px; }#mask .center a {text-decoration: none;width: 45px;height: 100px;position: absolute;top: 179px;vertical-align: middle;opacity: 0.5; } #mask .center a :hover {opacity: 0.8; }#mask .center .left {left: 15px;text-align: left;padding-right: 10px;border-top-right-radius: 10px;border-bottom-right-radius: 10px; }#mask .center .right {right: 15px;text-align: right;padding-left: 10px;border-top-left-radius: 10px;border-bottom-left-radius: 10px; }

    案例:記事本

    下面我們通過一個案例來鞏固前面所學習的全部知識點

    案例要求:

    • 新增:書寫內容,點擊Enter后,便利貼放于頁面
    • 刪除:點擊內容后方的"x"號后,該內容消失
    • 統計:統計內容數量,在左下角顯示
    • 清空:點擊右下角清空鍵,內容全部清空
    • 隱藏:當無內容時,下述記事本部分隱藏

    代碼展示:

    <html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><title>小黑記事本</title><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><meta name="robots" content="noindex, nofollow" /><meta name="googlebot" content="noindex, nofollow" /><meta name="viewport" content="width=device-width, initial-scale=1" /><!--css樣式在下列出--><link rel="stylesheet" type="text/css" href="./css/index.css" /> </head><body><!-- 主體區域 --><section id="todoapp"><!-- 輸入框 --><header class="header"><h1>小黑記事本</h1><!--輸入欄,實現雙向綁定,當點擊時使用add方法--><input v-model="inputValue" @keyup.enter="add" autofocus="autofocus" autocomplete="off" placeholder="請輸入任務"class="new-todo" /></header><!-- 列表區域 --><section class="main"><ul class="todo-list"><!--記事主題內容,采用v-for遍歷記事內容list的內容,輸出在頁面--><li class="todo" v-for="(item,index) in list"><div class="view"><!--記事內容--><span class="index">{{ index+1 }}.</span><label>{{ item }}</label><!--刪除按鈕,點擊時觸發remove功能,參數為當前index--><button class="destroy" @click="remove(index)"></button></div></li></ul></section><!-- 統計和清空 --><!--記事本主體,當不存在記事內容時,隱藏--><footer class="footer" v-show="list.length!=0"><span class="todo-count" v-if="list.length!=0"><!--統計值:直接采用list的長度代替--><strong>{{ list.length }}</strong> items left</span><!--記事本主體,當不存在記事內容時,隱藏--><button v-show="list.length!=0" class="clear-completed" @click="clear">Clear</button></footer></section><!-- 底部 --><footer class="info"><p><a href="http://www.itheima.com/"><img src="./img/black.png" alt="" /></a></p></footer><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({// 實現Vue綁定el: "#todoapp",data: {// list表示記事內容list: ["寫代碼", "吃飯飯", "睡覺覺"],// 表示目前輸入內容,雙向綁定inputValue: "好好學習,天天向上"},methods: {// 新添方法,將輸入值填入計時內容中add: function () {this.list.push(this.inputValue);},// 刪除方法,刪除當前下表為index的內容remove: function (index) {this.list.splice(index, 1);},// 清除方法,清除所有方法clear: function () {this.list = [];}},})</script></body></html> html, body {margin: 0;padding: 0; } body {background: #fff; } button {margin: 0;padding: 0;border: 0;background: none;font-size: 100%;vertical-align: baseline;font-family: inherit;font-weight: inherit;color: inherit;-webkit-appearance: none;appearance: none;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale; }body {font: 14px "Helvetica Neue", Helvetica, Arial, sans-serif;line-height: 1.4em;background: #f5f5f5;color: #4d4d4d;min-width: 230px;max-width: 550px;margin: 0 auto;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-weight: 300; }:focus {outline: 0; }.hidden {display: none; }#todoapp {background: #fff;margin: 180px 0 40px 0;position: relative;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1); }#todoapp input::-webkit-input-placeholder {font-style: italic;font-weight: 300;color: #e6e6e6; }#todoapp input::-moz-placeholder {font-style: italic;font-weight: 300;color: #e6e6e6; }#todoapp input::input-placeholder {font-style: italic;font-weight: 300;color: gray; }#todoapp h1 {position: absolute;top: -160px;width: 100%;font-size: 60px;font-weight: 100;text-align: center;color: rgba(175, 47, 47, .8);-webkit-text-rendering: optimizeLegibility;-moz-text-rendering: optimizeLegibility;text-rendering: optimizeLegibility; }.new-todo, .edit {position: relative;margin: 0;width: 100%;font-size: 24px;font-family: inherit;font-weight: inherit;line-height: 1.4em;border: 0;color: inherit;padding: 6px;border: 1px solid #999;box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);box-sizing: border-box;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale; }.new-todo {padding: 16px;border: none;background: rgba(0, 0, 0, 0.003);box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03); }.main {position: relative;z-index: 2;border-top: 1px solid #e6e6e6; }.toggle-all {width: 1px;height: 1px;border: none; /* Mobile Safari */opacity: 0;position: absolute;right: 100%;bottom: 100%; }.toggle-all + label {width: 60px;height: 34px;font-size: 0;position: absolute;top: -52px;left: -13px;-webkit-transform: rotate(90deg);transform: rotate(90deg); }.toggle-all + label:before {content: "?";font-size: 22px;color: #e6e6e6;padding: 10px 27px 10px 27px; }.toggle-all:checked + label:before {color: #737373; }.todo-list {margin: 0;padding: 0;list-style: none;max-height: 420px;overflow: auto; }.todo-list li {position: relative;font-size: 24px;border-bottom: 1px solid #ededed;height: 60px;box-sizing: border-box; }.todo-list li:last-child {border-bottom: none; }.todo-list .view .index {position: absolute;color: gray;left: 10px;top: 20px;font-size: 16px; }.todo-list li .toggle {text-align: center;width: 40px;/* auto, since non-WebKit browsers doesn't support input styling */height: auto;position: absolute;top: 0;bottom: 0;margin: auto 0;border: none; /* Mobile Safari */-webkit-appearance: none;appearance: none; }.todo-list li .toggle {opacity: 0; }.todo-list li .toggle + label {/*Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/*/background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: center left; }.todo-list li .toggle:checked + label {background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E"); }.todo-list li label {word-break: break-all;padding: 15px 15px 15px 60px;display: block;line-height: 1.2;transition: color 0.4s; }.todo-list li.completed label {color: #d9d9d9;text-decoration: line-through; }.todo-list li .destroy {display: none;position: absolute;top: 0;right: 10px;bottom: 0;width: 40px;height: 40px;margin: auto 0;font-size: 30px;color: #cc9a9a;margin-bottom: 11px;transition: color 0.2s ease-out; }.todo-list li .destroy:hover {color: #af5b5e; }.todo-list li .destroy:after {content: "×"; }.todo-list li:hover .destroy {display: block; }.todo-list li .edit {display: none; }.todo-list li.editing:last-child {margin-bottom: -1px; }.footer {color: #777;padding: 10px 15px;height: 20px;text-align: center;border-top: 1px solid #e6e6e6; }.footer:before {content: "";position: absolute;right: 0;bottom: 0;left: 0;height: 50px;overflow: hidden;box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6,0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6,0 17px 2px -6px rgba(0, 0, 0, 0.2); }.todo-count {float: left;text-align: left; }.todo-count strong {font-weight: 300; }.filters {margin: 0;padding: 0;list-style: none;position: absolute;right: 0;left: 0; }.filters li {display: inline; }.filters li a {color: inherit;margin: 3px;padding: 3px 7px;text-decoration: none;border: 1px solid transparent;border-radius: 3px; }.filters li a:hover {border-color: rgba(175, 47, 47, 0.1); }.filters li a.selected {border-color: rgba(175, 47, 47, 0.2); }.clear-completed, html .clear-completed:active {float: right;position: relative;line-height: 20px;text-decoration: none;cursor: pointer; }.clear-completed:hover {text-decoration: underline; }.info {margin: 50px auto 0;color: #bfbfbf;font-size: 15px;text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);text-align: center; }.info p {line-height: 1; }.info a {color: inherit;text-decoration: none;font-weight: 400; }.info a:hover {text-decoration: underline; }/*Hack to remove background from Mobile Safari.Can't use it globally since it destroys checkboxes in Firefox */ @media screen and (-webkit-min-device-pixel-ratio: 0) {.toggle-all,.todo-list li .toggle {background: none;}.todo-list li .toggle {height: 40px;} }@media (max-width: 430px) {.footer {height: 50px;}.filters {bottom: 10px;} }

    Vue網絡應用

    我們在本篇開頭說過Vue的作用僅僅是用來完成靜態頁面

    所以如果想要完成項目開發功能,還需要與后臺交互的技術Ajax(主要采用Axios技術)

    Axios技術

    Axios技術是原生的Ajax進行封裝,簡化書寫

    我們在之前的Ajax專題中有完整的介紹過Ajax和Axios技術,在這里我們僅做簡單回憶:

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>axios基本使用</title> </head><body><!--兩個按鈕分別用來實現兩種數據獲取--><input type="button" value="get請求" class="get"><input type="button" value="post請求" class="post"><!-- 官網提供的 axios 在線地址 --><script src="https://unpkg.com/axios/dist/axios.min.js"></script><script>/*接口1:隨機笑話請求地址:https://autumnfish.cn/api/joke/list請求方法:get請求參數:num(笑話條數,數字)響應內容:隨機笑話*/// 事件綁定document.querySelector(".get").onclick = function () {// axios的get格式:get后跟url,response為返回體,err為錯誤axios.get("https://autumnfish.cn/api/joke/list?num=6").then(function (response) {console.log(response);},function(err){console.log(err);})}/*接口2:用戶注冊請求地址:https://autumnfish.cn/api/user/reg請求方法:post請求參數:username(用戶名,字符串)響應內容:注冊成功或失敗*/// 事件綁定document.querySelector(".post").onclick = function () {// axios的post格式:post后跟url和請求體,response為返回體,err為錯誤axios.post("https://autumnfish.cn/api/user/reg",{username:"鹽焗西蘭花"}).then(function(response){console.log(response);console.log(this.skill);},function (err) {console.log(err);})}</script> </body></html>

    Axios+Vue技術

    我們常常用Vue作為頁面的設計框架,同時采用Axios作為前后端交互的技術

    兩者的結合其實并沒有互相摻雜,大致上還保留原本的形式,最大的改變只有數據來源發生變化

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>axios+vue</title> </head><body><div id="app"><input type="button" value="獲取笑話" @click="getJoke"><p> {{ joke }}</p></div><!-- 官網提供的 axios 在線地址 --><script src="https://unpkg.com/axios/dist/axios.min.js"></script><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>/*接口:隨機獲取一條笑話請求地址:https://autumnfish.cn/api/joke請求方法:get請求參數:無響應內容:隨機笑話*/// 采用Vue開啟框架頁面var app = new Vue({el:"#app",data:{// 頁面數據展示joke:"很好笑的笑話"},methods: {// 獲得笑話的方法,采用axios技術進行數據請求getJoke:function(){var that = this;axios.get("https://autumnfish.cn/api/joke").then(function(response){console.log(response.data);that.joke = response.data;},function (err) { })}},})</script></body></html>

    案例:天氣預報

    我們同樣采用一個簡單的案例來鞏固Vue網絡應用

    案例需求:

    • 我們可以手動查找輸入框內的城市的天氣情況
    • 我們可以點擊頁面內含有的城市的天氣情況

    代碼展示:

    <!--主頁面展示--><!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>天知道</title><!--CSS鏈接--><link rel="stylesheet" href="css/index.css" /> </head><body><!--Vue綁定--><div class="wrap" id="app"><div class="search_form"><div class="logo"><img src="img/logo.png" alt="logo" /></div><div class="form_group"><!--雙向綁定city,添加事件@keyup.enter="queryWeather"--><input type="text" class="input_txt" placeholder="請輸入查詢的天氣" v-model="city" @keyup.enter="queryWeather" /><!--添加事件@keyup.enter="queryWeather"--><button class="input_sub" @click="queryWeather">搜 索</button></div><!--展示列出的城市,點擊觸發事件--><div class="hotkey"><a href="javascript:;" v-for="city in hotCitys" @click="clickSearch(city)">{{ city }}</a></div><!--展示返回的天氣數據--></div><ul class="weather_list"><!----><li v-for="(item,index) in forecastList" :key="item.date" :style="{transitionDelay:index*100+'ms'}"><div class="info_type"><span class="iconfont">{{ item.type }}</span></div><div class="info_temp"><b>{{ item.low}}</b>~<b>{{ item.high}}</b></div><div class="info_date"><span>{{ item.date }}</span></div></li></ul></div><!-- 開發環境版本,包含了有幫助的命令行警告 --><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><!-- 官網提供的 axios 在線地址 --><script src="https://unpkg.com/axios/dist/axios.min.js"></script><script>new Vue({el: "#app",data: {// 輸入框城市,雙向綁定city: "武漢",// 天氣情況forecastList: [],// 城市展示hotCitys: ["北京", "上海", "廣州", "深圳"]},methods: {queryWeather() {// 將天氣情況清零this.forecastList = [];// axios獲得天氣狀況axios.get(`http://wthrcdn.etouch.cn/weather_mini?city=${this.city}`).then(res => {console.log(res);this.forecastList = res.data.data.forecast;}).catch(err => {console.log(err);}).finally(() => { });},// 點擊城市觸發queryWeather方法,獲得天氣情況clickSearch(city) {this.city = city;this.queryWeather();}}});</script> </body></html> /* css展示 頁面前置css修改 */body,ul,h1,h2,h3,h4,h5,h6{margin: 0;padding: 0; } h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal; } a{text-decoration:none; } ul{list-style:none; } img{border:0px; }/* 清除浮動,解決margin-top塌陷 */ .clearfix:before,.clearfix:after{content:'';display:table; } .clearfix:after{clear:both; } .clearfix{zoom:1; }.fl{float:left; } .fr{float:right; }/* css展示 頁面內部css修改 */body{font-family:'Microsoft YaHei'; } .wrap{position: fixed;left:0;top:0;width:100%;height:100%;/* background: radial-gradient(#f3fbfe, #e4f5fd, #8fd5f4); *//* background:#8fd5f4; *//* background: linear-gradient(#6bc6ee, #fff); */background:#fff;} .search_form{width:640px;margin:100px auto 0; } .logo img{display:block;margin:0 auto; } .form_group{width:640px;height:40px;margin-top:45px; } .input_txt{width:538px;height:38px;padding:0px;float:left;border:1px solid #41a1cb;outline:none;text-indent:10px; }.input_sub{width:100px;height:40px;border:0px;float: left;background-color: #41a1cb;color:#fff;font-size:16px;outline:none;cursor: pointer;position: relative; } .input_sub.loading::before{content:'';position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: url('../img/loading.gif'); }.hotkey{margin:3px 0 0 2px; }.hotkey a{font-size:14px;color:#666;padding-right:15px; } .weather_list{height:200px;text-align:center;margin-top:50px;font-size:0px; } .weather_list li{display:inline-block;width:140px;height:200px;padding:0 10px;overflow: hidden;position: relative;background:url('../img/line.png') right center no-repeat;background-size: 1px 130px; }.weather_list li:last-child{background:none; }/* .weather_list .col02{background-color: rgba(65, 165, 158, 0.8); } .weather_list .col03{background-color: rgba(94, 194, 237, 0.8); } .weather_list .col04{background-color: rgba(69, 137, 176, 0.8); } .weather_list .col05{background-color: rgba(118, 113, 223, 0.8); } */.info_date{width:100%;height:40px;line-height:40px;color:#999;font-size:14px;left:0px; bottom:0px; margin-top: 15px; } .info_date b{float: left;margin-left:15px; }.info_type span{color:#fda252;font-size:30px;line-height:80px; } .info_temp{font-size:14px; color:#fda252; } .info_temp b{font-size:13px; } .tem .iconfont {font-size: 50px;}

    結束語

    好的,關于Vue入門案例的內容就介紹到這里,希望能為你帶來幫助!?

    總結

    以上是生活随笔為你收集整理的一篇文章带你了解网页框架——Vue简单入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    欧美色图88 | 91免费观看国产 | 日韩电影一区二区三区在线观看 | 久久国产精品网站 | 日韩在线一二三区 | 久久爱影视i | 日韩中文字幕视频在线 | 91人网站 | a级国产乱理伦片在线观看 亚洲3级 | av网址最新 | 日韩精品久久一区二区三区 | 8x成人在线| 欧美亚洲精品在线观看 | 在线精品亚洲一区二区 | 国产五月色婷婷六月丁香视频 | 日韩免费观看一区二区三区 | 免费在线激情电影 | 精品国产资源 | 天天做天天爱天天爽综合网 | 欧美性猛片 | 五月天亚洲精品 | 日韩一区二区三区在线看 | 国产一区精品在线 | 2019中文最近的2019中文在线 | 亚洲自拍av在线 | 在线视频app| 久久国产精品电影 | 九九精品视频在线观看 | 黄色中文字幕 | 欧美一级片在线 | 精品产品国产在线不卡 | 亚洲日本一区二区在线 | 91片在线观看 | 精品久久久久久亚洲综合网站 | 干干操操 | 九九久久婷婷 | 亚洲综合色播 | 亚洲一区二区视频在线播放 | 欧美二区三区91 | 婷婷在线免费视频 | 久久久九色精品国产一区二区三区 | 少妇bbr搡bbb搡bbb | 免费日韩 精品中文字幕视频在线 | 男女免费视频观看 | 国产精品久久久久国产精品日日 | 五月激情丁香 | 97超碰人人看 | 中文字幕亚洲综合久久五月天色无吗'' | 一区av在线播放 | 精品亚洲一区二区三区 | 九九影视理伦片 | 三上悠亚一区二区在线观看 | 日本中文一区二区 | 欧美 激情 国产 91 在线 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 免费在线观看中文字幕 | 在线观看黄色小视频 | 97在线精品 | 久久精品视频免费 | 国产精品久久婷婷六月丁香 | 日日夜夜骑| 人九九精品 | 婷婷成人亚洲综合国产xv88 | 欧美一二区在线 | 久久新| 精品国产1区二区 | 91在线视频观看免费 | 久久久影片 | 国产护士hd高朝护士1 | 国产精品大片 | 欧美精品中文 | 久久亚洲私人国产精品 | 国产黄色美女 | 草久在线观看视频 | 国产一级片不卡 | 国产精品18久久久久久久久 | 成人免费在线视频观看 | 国内精品久久久久国产 | 西西大胆免费视频 | 成人久久免费 | 欧美精品久久久久久久久老牛影院 | 激情五月婷婷综合 | 久久免费视频这里只有精品 | 久久色亚洲| 欧美做受xxx | 国产精品999久久久 久产久精国产品 | 久久综合九色综合欧美狠狠 | a一片一级 | 五月亚洲 | 99色免费视频 | 成人一级 | 久久艹艹 | 91精品电影 | 97免费视频在线 | 亚洲高清av在线 | 亚洲激情在线观看 | 毛片一级免费一级 | 九九热久久免费视频 | 91黄视频在线 | 免费三级在线 | 热热热热热色 | 欧美日韩大片在线观看 | 久操伊人| 免费视频久久久久 | 狠狠操在线| 天天操天天透 | 国产丝袜 | 99麻豆久久久国产精品免费 | 亚洲人成综合 | 日韩精品久久久久久久电影99爱 | 天天干天天射天天操 | 日韩网站一区 | wwxxxx日本 | 国产精品国产亚洲精品看不卡15 | av看片在线观看 | 国产精品视频永久免费播放 | 色www免费视频 | 日韩色视频在线观看 | av三级在线免费观看 | 久久久蜜桃 | 偷拍视频一区 | 在线观看成人福利 | 精品不卡视频 | 黄色视屏在线免费观看 | 日韩3区| 夜色.com | 91传媒视频在线观看 | 一区二区三区四区免费视频 | 黄色大片视频网站 | 波多野结衣在线视频免费观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 麻豆高清免费国产一区 | 波多野结衣网址 | 狠狠色噜噜狠狠狠狠2021天天 | 97免费视频在线播放 | 国产1区2区3区精品美女 | 一区二区视频欧美 | 欧洲亚洲精品 | 91手机电视 | 综合网伊人 | 欧美一级片在线免费观看 | 天天插日日插 | 久久不卡免费视频 | 精品九九久久 | 久久激情日本aⅴ | 久久久久伊人 | 91手机在线看片 | 国产精品欧美久久久久三级 | 中文字幕在线不卡国产视频 | 四虎最新入口 | 免费视频 你懂的 | 欧美一级电影免费观看 | ww亚洲ww亚在线观看 | 国产 色 | 亚洲人精品午夜 | 欧美一区影院 | 久久超| 国产在线精品一区二区三区 | 色六月婷婷 | 日韩av一区二区在线影视 | 日韩高清精品一区二区 | www国产亚洲精品 | 97热久久免费频精品99 | av高清一区二区三区 | 国产成人一二三 | 99中文视频在线 | 在线观看一级 | 美女网站视频一区 | 免费日韩 精品中文字幕视频在线 | 精品视频国产一区 | 操高跟美女 | 亚洲日本国产精品 | 中文一区二区三区在线观看 | 日本中文字幕观看 | 婷婷久久一区 | 激情电影影院 | 美女免费视频一区二区 | 国产精品久久嫩一区二区免费 | av一级片在线观看 | 一区二区三区在线观看免费 | 久草在线一免费新视频 | 最近能播放的中文字幕 | 在线视频第一页 | 国产精品久久久久久麻豆一区 | 久久久久亚洲精品成人网小说 | 激情视频国产 | 在线激情影院一区 | www欧美色 | 国产剧情亚洲 | 日韩三区在线观看 | 日韩电影在线观看一区二区 | 久久美女视频 | 黄色三级免费网址 | 成人三级网站在线观看 | 一区二区三区日韩视频在线观看 | 国产精品手机播放 | 99精品久久久 | 手机在线看永久av片免费 | 欧美亚洲一区二区在线 | 日韩av电影手机在线观看 | 国产区网址 | 亚洲精品乱码久久久久久久久久 | av在线8 | 亚洲人成在线电影 | 中文字幕亚洲精品日韩 | 亚洲成人av电影 | 天天干,天天干 | 欧美婷婷综合 | 久草免费福利在线观看 | 国产区久久| 91中文字幕在线观看 | 亚洲精品美女久久久久网站 | 色婷婷在线播放 | 欧美日本高清视频 | www日韩视频 | 美女视频免费一区二区 | 高清在线一区二区 | 久草av在线播放 | 天堂av在线7 | 亚洲黄色一级视频 | 中文字幕影视 | 国产麻豆精品久久 | 久草在线电影网 | 亚洲精品免费观看 | av免费福利 | 成人sm另类专区 | 91九色在线观看视频 | 99riav1国产精品视频 | 午夜影院先 | 午夜av在线免费 | 久久久久久久久久久久电影 | 色婷婷狠狠五月综合天色拍 | 久久久久久国产精品999 | 精品一二三四在线 | 在线国产一区二区三区 | 亚州性色| 91精品国产麻豆 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 久久久免费播放 | 四虎成人免费观看 | 国产美女精品视频 | 亚洲观看黄色网 | 国产精品一区欧美 | 91精品在线麻豆 | 国产123区在线观看 国产精品麻豆91 | 美女一区网站 | 日本三级中文字幕在线观看 | 97国产情侣爱久久免费观看 | 久久人视频 | 国产成人99久久亚洲综合精品 | 天天干天天操人体 | 亚洲在线成人精品 | 国产亚洲va综合人人澡精品 | 成人a视频片观看免费 | 亚洲国内精品在线 | 国产精品福利无圣光在线一区 | 91精品推荐| 国际精品久久 | 91麻豆国产福利在线观看 | 成人观看| 精品免费视频 | 国产成人三级一区二区在线观看一 | 色大片免费看 | 精品天堂av | 免费观看91视频 | 成片免费 | 曰本免费av | 91久久国产综合精品女同国语 | 亚洲乱码国产乱码精品天美传媒 | 国产在线观看二区 | 精品综合久久久 | 91网站在线视频 | 丝袜av网站 | 成人黄色影片在线 | 国产在线超碰 | 天天草天天操 | 日日干精品 | av品善网 | 丁香婷婷综合五月 | 激情综合婷婷 | 久久免费视频观看 | 九九九电影免费看 | 久久a免费视频 | 亚洲精品美女在线观看播放 | 色综合久久久久网 | 国产亚州精品视频 | 国产精品视频全国免费观看 | 亚洲最大在线视频 | 特级西西444www大精品视频免费看 | 日韩免费中文字幕 | 91桃色免费观看 | 人人草网站 | 久久久免费网站 | 欧美日韩视频在线一区 | 久久美女免费视频 | 深爱开心激情网 | 9999在线观看 | 日韩欧美一区二区在线播放 | 俺要去色综合狠狠 | 亚洲国产影院av久久久久 | 狠狠干夜夜操 | 免费看片色 | 色婷婷免费视频 | 欧美一区三区四区 | 精品久久久久久亚洲综合网站 | 国产成人免费在线观看 | 久久精品男人的天堂 | 久久精品系列 | 综合久久精品 | 久久九九久久九九 | 亚洲一区视频在线播放 | 日韩高清在线看 | 黄色在线观看www | av在线短片 | japanesefreesex中国少妇 | 欧美日韩在线视频观看 | 中文在线a√在线 | 久久精品影片 | av在线h | 在线免费观看一区二区三区 | 91精品播放| 亚洲综合色视频 | 美女黄视频免费 | 91视频一8mav | 成人一区二区在线观看 | 久久久国产一区二区三区四区小说 | 深爱激情亚洲 | 人人躁 | 中文字幕成人在线观看 | 九九视频在线观看视频6 | 国产精品porn | 国产精品日韩欧美 | 美女视频黄的免费的 | 日韩精品久久久久久久电影竹菊 | av不卡免费在线观看 | 特级西西人体444是什么意思 | 久久a久久| 在线播放日韩av | 亚洲欧洲日韩在线观看 | 国产成人精品999 | 四虎最新入口 | 天天干天天插 | 中国一级片在线观看 | 国产精品久久久久久久久久久久午夜 | 亚洲国产日本 | 国产xxxxx在线观看 | 1024在线看片| 天天激情 | 美国人与动物xxxx | 中文字幕91视频 | 亚洲国产精品999 | 国产91精品看黄网站在线观看动漫 | 国产伦精品一区二区三区四区视频 | 91一区在线观看 | 香蕉视频亚洲 | 久久精品亚洲综合专区 | 91在线免费视频 | 91私密保健 | 不卡的av在线| 国产在线精品一区二区不卡了 | 天天碰天天操 | 亚洲va欧美va | 91 在线视频 | 精品国产免费看 | 欧美韩国在线 | 香蕉久久久久 | 亚洲成人家庭影院 | 一区二区三区视频 | 日韩美av在线 | 国产成人1区 | av免费观看高清 | 亚洲综合丁香 | 成人动漫一区二区三区 | 91超在线| 免费看的黄网站 | 国产在线精品一区 | 国产高清av免费在线观看 | 欧美日韩一区二区三区在线观看视频 | 97视频免费看 | 视频在线一区二区三区 | www.在线看片.com | 久久综合加勒比 | 欧美精品久 | 91新人在线观看 | 超碰午夜 | 精品国产aⅴ麻豆 | 日本韩国中文字幕 | 99免费在线观看 | 国产打女人屁股调教97 | 中文资源在线观看 | 成人片在线播放 | 欧美一区二区免费在线观看 | 九九精品视频在线观看 | 最近高清中文字幕 | 91精品在线视频 | 欧美射射射 | 久久高清av | www.av在线播放 | 成人app在线播放 | 四虎影视精品 | 天天看天天操 | 91精品国产91久久久久久三级 | 精品久久久久久电影 | 免费av大全 | 99久久99久久精品国产片 | 中文永久字幕 | 日韩精品久久久免费观看夜色 | 缴情综合网五月天 | 狠狠躁夜夜av | 亚洲欧美日韩一区二区三区在线观看 | 久久激情五月婷婷 | 狠狠干天天操 | 在线观看www视频 | 毛片基地黄久久久久久天堂 | 人人插人人舔 | www.香蕉| 国产一级淫片在线观看 | a√天堂中文在线 | 99久久99久久 | 久久久久 | 日韩在线观看第一页 | 欧美巨大 | 97涩涩视频 | 黄色.com| 午夜av剧场| 欧美日韩精品在线 | 亚洲影视九九影院在线观看 | 日韩二区三区在线 | 在线观看www.| 亚洲电影久久久 | 成人网在线免费视频 | 999精品网| 精品久久久久久久久中文字幕 | 久久中文网 | 狠狠色狠狠色综合日日92 | 亚洲精品一区中文字幕乱码 | 久久精品免费 | 91大神免费在线观看 | 伊人中文网 | 激情欧美一区二区免费视频 | 黄色成人av | 免费在线观看av | 免费观看一级特黄欧美大片 | 九色精品免费永久在线 | 成人在线一区二区三区 | 亚洲精品视频在线观看视频 | 狠狠躁18三区二区一区ai明星 | www.97视频| 久久久精品成人 | 中文亚洲欧美日韩 | 色婷婷狠狠五月综合天色拍 | 亚洲国产中文字幕在线视频综合 | 九九免费在线观看视频 | 六月婷操| 亚洲最新精品 | 国产一级黄大片 | 国产视频18| 欧美一二三四在线 | 四虎5151久久欧美毛片 | 91视视频在线直接观看在线看网页在线看 | 成人免费视频免费观看 | 91精品在线视频观看 | 天天摸天天弄 | 首页中文字幕 | 天天操天天谢 | 国内外成人在线视频 | 午夜婷婷网 | 久草剧场 | 日韩大片在线免费观看 | 黄色毛片视频免费观看中文 | 久久久国产成人 | 国产精品久久久久久久av大片 | 免费精品久久久 | 天天色宗合 | 天天天天爱天天躁 | 开心激情网五月天 | 久久99精品热在线观看 | 亚洲精品黄色在线观看 | 免费在线观看成人小视频 | 国产精品免费大片视频 | 国产精品理论视频 | 欧美精品一区二区性色 | 99热这里只有精品8 久久综合毛片 | 日韩在线免费不卡 | 久久久免费毛片 | 国产精品久久久久久久久蜜臀 | 69久久久 | 婷婷久操 | 一级免费黄色 | 亚洲色图22p | 久久情爱| 亚洲精品午夜国产va久久成人 | av成人免费 | 国产护士hd高朝护士1 | 天堂av在线7 | 久久精品视频国产 | 欧美国产日韩在线观看 | 国产91影视 | 欧美日韩aaaa | 免费一级片在线 | 9在线观看免费高清完整版 玖玖爱免费视频 | 日日碰狠狠添天天爽超碰97久久 | 免费看污污视频的网站 | 久久不卡免费视频 | 久草av在线播放 | www.久久久久 | 亚洲一级黄色 | 天天搞天天干 | 国产999免费视频 | 国产一区二区中文字幕 | 天天搞天天 | 国产免费久久精品 | 在线天堂v | 成人午夜电影免费在线观看 | 欧美精品久久久久久 | 精品中文字幕在线观看 | 国产精品久久久久久久久久久免费看 | 在线成人欧美 | 我爱av激情网 | 久久激情视频 久久 | 色成人亚洲网 | 91欧美精品 | 欧美久久久久久久 | 韩国中文三级 | 五月天激情开心 | 久久9视频 | 久久免费美女视频 | 99热这里只有精品8 久久综合毛片 | 美女视频黄频大全免费 | 狠狠色噜噜狠狠狠狠2021天天 | 日本韩国精品一区二区在线观看 | av黄色免费看 | 超碰人人做 | 色香蕉网| 婷婷色五 | 精品国产乱码一区二 | 国产成人精品久久久久 | 国产色婷婷在线 | 国产一级高清 | 国产精品h在线观看 | 国产aa精品 | 色噜噜狠狠狠狠色综合久不 | 日韩欧美在线视频一区二区 | 国产91在线 | 美洲 | 亚洲视频免费在线 | 一区二区三区中文字幕在线 | 中文字幕永久 | 色网站视频 | 亚洲成人影音 | 久久有精品 | 久久精品网站视频 | www日韩在线 | 国产小视频在线播放 | 99久久精品电影 | 国产中文自拍 | 精品福利av | 性色av一区二区三区在线观看 | 五月精品 | 国产资源在线免费观看 | 日韩av综合网站 | 伊人中文网 | 久久精品网站视频 | 激情视频综合网 | 福利视频区| 亚洲精品免费观看视频 | 免费色网站 | 亚洲成a人片77777kkkk1在线观看 | 亚洲涩涩涩涩涩涩 | 亚洲精品国久久99热 | 久久精品黄 | 日韩av电影免费观看 | 日韩欧美高清在线 | 91麻豆精品91久久久久同性 | 国产亚洲精品v | 国产美女精品视频 | 91香蕉视频| 日日干 天天干 | 夜夜操天天干, | 亚洲毛片一区二区三区 | 久草精品在线观看 | 免费的成人av | 久草在线视频免赞 | 国产精品成人av电影 | 四虎免费在线观看 | 超碰在线人人97 | 亚洲精品mv在线观看 | 成年人免费在线播放 | 超碰在线人人草 | 欧美一级在线看 | 日日夜夜操av | 91福利区一区二区三区 | 国产高清在线免费观看 | 免费看短 | 日韩在线观看视频在线 | 九色视频网 | 亚洲国产mv | 在线亚洲成人 | 午夜色影院 | 黄色电影在线免费观看 | 97超级碰碰碰碰久久久久 | www免费视频com━ | 伊人影院av | 亚洲综合色丁香婷婷六月图片 | 人人草网站 | 蜜臀久久99精品久久久酒店新书 | 成年人电影毛片 | 国产免费人成xvideos视频 | av在线电影网站 | 国产在线精品一区二区三区 | 久久久久网站 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | www.久久婷婷| 五月天婷婷免费视频 | 久久久久久久久久久久久国产精品 | 国产精品美女免费视频 | 69欧美视频 | 日韩欧美aaa| 精品国产诱惑 | 黄色1级大片 | 日韩精品久久久免费观看夜色 | 亚洲精品女 | 玖玖视频网 | 日韩黄色在线观看 | 亚州精品在线视频 | 国产破处视频在线播放 | 国产成人久久久77777 | 蜜桃视频精品 | 天天色天天操天天爽 | 激情网五月婷婷 | 精一区二区 | 成人夜晚看av | 精品亚洲成人 | 国产原创91 | 波多野结衣一区 | 日韩一区二区三区高清免费看看 | 黄色免费网站 | 91大神在线观看视频 | 91精品色| a√天堂中文在线 | 国产亚洲欧美精品久久久久久 | 91视频88av | 中文字幕免费观看视频 | 久久精彩 | 久久免费观看视频 | 日韩视频a | 久久在线视频在线 | 青春草免费在线视频 | 久插视频 | 亚洲免费小视频 | 日本精品视频一区二区 | 国产在线第三页 | 色综合天天综合 | 少妇bbb | 久久久久久久久久久免费av | 97碰碰精品嫩模在线播放 | 国产一区二区免费 | 在线观看欧美成人 | av电影在线观看完整版一区二区 | 成人久久精品视频 | 成人午夜在线电影 | 天天操夜夜想 | 色婷婷中文 | 成人午夜网址 | 久草精品视频在线观看 | 中文字幕在线播放视频 | 九九热1 | 精品视频专区 | 日韩在线视频看看 | 日韩精品一区二区三区三炮视频 | av在线之家电影网站 | 国产精品一区二区久久精品爱涩 | 国产小视频免费在线网址 | av高清不卡| 日韩中文字幕在线看 | 国产又粗又猛又黄 | 国产专区视频 | av永久网址| 国产精品自产拍在线观看蜜 | 亚洲第一中文网 | 日韩理论在线视频 | 99精品免费在线 | 久久国内精品99久久6app | 久久精品—区二区三区 | 操操操夜夜操 | 日韩二区在线 | 在线视频 影院 | 中文字幕在线视频一区 | 精品日韩在线一区 | 91在线观看黄 | 成人国产精品久久久久久亚洲 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产精品第三页 | 麻豆久久精品 | 久久午夜电影院 | 91av视屏| 亚洲精品综合一二三区在线观看 | 免费看一级片 | 日韩高清免费在线观看 | 欧美一区二区三区四区夜夜大片 | 国产精品一区二区在线播放 | 亚洲精品中文在线观看 | 四虎影视精品成人 | 91成人精品一区在线播放69 | 麻豆手机在线 | 日本爱爱免费 | 97视频在线 | 视频一区二区在线 | 国产一区二区久久精品 | 国产精品久久久久久一区二区三区 | 亚洲少妇久久 | 97在线看 | 中文字幕在线视频一区二区 | 久久国产精品久久国产精品 | 色中文字幕在线观看 | 国产精品久久99精品毛片三a | 99精品视频精品精品视频 | 国产成人久久精品亚洲 | 亚洲伦理一区 | 欧美日韩91 | 久久久午夜精品理论片中文字幕 | 五月天激情开心 | 久久国产一区二区 | 国产成人免费观看久久久 | 久久久久女人精品毛片 | 久久国内精品 | 天天天天色射综合 | 免费在线观看av | 高清av免费观看 | 亚洲在线日韩 | av五月婷婷 | 国产福利在线免费 | 成人9ⅰ免费影视网站 | 一区二区不卡视频在线观看 | 国产中文字幕视频 | 久久视频在线 | 91av小视频| 精品久久影院 | 国产视频亚洲视频 | 人人超在线公开视频 | 中文字幕在线影院 | 日韩精品中文字幕av | 欧美极品少妇xbxb性爽爽视频 | 天天干国产| 91中文在线 | 99精品国产福利在线观看免费 | 精品一二三区 | 国产精品久久久 | 国产精品麻豆欧美日韩ww | 久久久久久国产一区二区三区 | 久久久电影网站 | 亚洲国产三级在线观看 | 在线观看av网 | 97香蕉久久超级碰碰高清版 | 国产精品理论片在线播放 | 国产精品亚洲成人 | 久久黄色网址 | 久久伊人操 | 国内精品久久久久国产 | 国产91学生粉嫩喷水 | 免费在线成人av电影 | 久久综合九色综合网站 | 免费在线黄色av | 黄色成人影院 | 久久久精品在线观看 | 久艹视频在线观看 | 91精品在线免费视频 | 视频在线99re | 亚洲国产成人久久综合 | 亚洲激情在线观看 | 97色婷婷 | 国产精品原创视频 | 日韩欧在线 | 中文高清av | 天天操天天透 | 亚洲春色综合另类校园电影 | 久久久久国产精品一区 | 亚洲在线免费视频 | 免费不卡中文字幕视频 | 亚洲在线视频免费观看 | av一本久道久久波多野结衣 | 日韩在线网 | 免费看成年人 | 国产你懂的在线 | 久久人人97超碰精品888 | 人人干网 | av动态图片| 成人黄色在线视频 | 国产日韩精品一区二区三区 | 欧美精品xxx | 91成人黄色 | 欧美性黄网官网 | 久久久国产影院 | 男女精品久久 | 国产精品国产亚洲精品看不卡15 | 日韩激情av在线 | 欧美 日韩 性 | 成人va在线观看 | 超碰在线人人草 | 久久久久国产精品一区 | 日本性xxx | 欧美日韩视频在线播放 | 国产综合香蕉五月婷在线 | 中文一区在线观看 | 日韩在线观看网站 | 日本精品免费看 | 国产视频一区二区三区在线 | 五月色丁香 | 国产高清视频在线播放一区 | a久久久久 | www色婷婷com| 国产精品大全 | 亚洲精品在线电影 | 中文字幕电影一区 | 国产精品区免费视频 | 久久av观看 | 国产小视频在线看 | 就操操久久 | 欧美怡红院 | 久久久精品小视频 | 日日日天天天 | 91理论片午午伦夜理片久久 | av中文字幕第一页 | 99久久婷婷国产精品综合 | 久久国产成人午夜av影院潦草 | 中文字幕高清免费日韩视频在线 | 国产精品久久久久久婷婷天堂 | 肉色欧美久久久久久久免费看 | 天天干夜夜操视频 | 视频一区二区三区视频 | 日韩在线中文字幕 | 韩国一区二区三区视频 | 日韩免费一区二区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 欧美精品一二 | 国产玖玖精品视频 | 亚洲国产成人精品在线 | 亚洲综合在线播放 | 国产一级精品绿帽视频 | 国产专区精品视频 | 在线视频电影 | 精品一区二区久久久久久久网站 | 国产色婷婷精品综合在线手机播放 | 成人av在线网 | 成人久久久久久久久久 | 爱情影院aqdy鲁丝片二区 | 一区二区成人国产精品 | 色狠狠一区二区 | 精品国产黄色片 | 免费看国产精品 | 99久高清在线观看视频99精品热在线观看视频 | 久久成人免费 | 亚洲视屏在线播放 | 国产一级视屏 | 国产精品自产拍在线观看中文 | 激情综合五月天 | 免费又黄又爽视频 | 五月综合激情婷婷 | 青青河边草免费 | 日韩视频欧美视频 | 波多野结衣在线视频一区 | 国产亚洲精品久久久久久网站 | 亚洲高清在线精品 | 成人国产综合 | 国产精品黄网站在线观看 | 国产精品久久久久久久久久久久冷 | 欧美日韩国产在线精品 | 丁香婷婷激情网 | 亚洲人成免费网站 | 99久久精品免费 | 亚洲激情六月 | 日韩精品一区不卡 | 97电影手机 | 日韩在线观看精品 | 91免费观看视频在线 | 中文字幕在线播放一区二区 | 国产精品久久久久久久免费大片 | 国产一区精品在线观看 | 久久精品视频一 | 久久不射影院 | 一区二区三区视频 | 麻豆国产在线播放 | 香蕉在线视频观看 | 国产一区二区三区视频在线 | www.玖玖玖 | 欧美一区二区三区免费看 | 91成人精品一区在线播放69 | 91视频在线免费下载 | 夜色在线资源 | 国产在线观看免 | 高清av网 | 国产欧美综合视频 | 超碰人人草人人 | 91在线91 | 在线看一级片 | 日韩激情综合 | 久久理论影院 | 精品国产自在精品国产精野外直播 | 精品一区久久 | 精品96久久久久久中文字幕无 | 日韩欧美精品在线 | 色五月成人 | 少妇搡bbbb搡bbb搡忠贞 | 免费av网站在线看 | 免费在线观看不卡av | 黄av资源 | www.天天射 | 尤物九九久久国产精品的分类 | 日日干,天天干 | 国产五码一区 | 国产亚洲精品美女久久 | 久久精品亚洲综合专区 | 二区三区在线视频 | 久久国产精品区 | 天天干天天操天天 | 九月婷婷人人澡人人添人人爽 | 人人草在线视频 | 奇米网在线观看 | 亚洲精品在线电影 | 国产亚洲情侣一区二区无 | 五月天网页 | 91成人免费观看视频 | 日本黄色大片儿 | 在线观看第一页 | 亚洲精品国产精品国自产观看 | 精品视频免费 | 国产精品综合在线观看 | 国产精品初高中精品久久 | 色丁香综合 | 97超碰在线免费观看 | 欧美性色网站 | 久久精品国产一区二区 | 最新av电影网站 | 福利av影院 | 天天干天天拍天天操 | 四虎影视精品永久在线观看 | 久久久久亚洲最大xxxx | 2020天天干天天操 | 麻豆影音先锋 | 国产成人一区二区精品非洲 | 亚州av网站 | 亚洲美女精品区人人人人 | 视频在线观看99 | 国产精品69久久久久 | 亚洲日本精品 | 九九久久精品 | 黄色免费高清视频 | 久久99视频 | 丁香久久 | 久99久在线视频 | 国产精品99久久久久久久久久久久 | 国产麻豆精品95视频 | 国产精品久久久久久久久免费 | 天天操操操操操 | 久久精品香蕉视频 | 久久精品久久久久电影 | 99视频播放| 激情av网| 在线观看中文字幕视频 | av激情五月 | 三级av黄色 | 亚洲综合欧美日韩狠狠色 | 激情在线免费视频 | 亚洲精色| 热re99久久精品国产66热 | 在线a亚洲视频播放在线观看 | 麻花豆传媒mv在线观看网站 | 国产99久久 | 精品视频中文字幕 | 视频二区| 狠狠干美女 | 亚洲第一成网站 | 免费看的视频 | 欧美巨大| 久久99精品国产麻豆宅宅 | 麻豆精品国产传媒 | 亚洲人成免费 | 涩涩网站免费 | 91精品老司机久久一区啪 | 麻豆成人网| 欧美亚洲国产精品久久高清浪潮 | 美女网色 | 最近中文字幕国语免费高清6 | 91在线操| 色在线视频 | 黄色大全免费网站 | 国产精品视频大全 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品一区二区免费 | 国产日韩欧美视频在线观看 | 中文字幕中文字幕 | 在线成人观看 | 亚洲综合在线五月 | www.777奇米 | 97免费中文视频在线观看 | 中文字幕免费观看视频 | 怡红院av久久久久久久 | 亚洲综合色视频 | 日韩二级毛片 |