日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

vue

大白话讲解Vue前端框架

發布時間:2023/12/29 vue 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大白话讲解Vue前端框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先介紹一個很不錯的網站:http://www.runoob.com/vue2/vue-tutorial.html

我們在不知道一些語法的時候,可以過來查詢。

Vue.js(讀音 /vju?/, 類似于 view) 是一套構建用戶界面的漸進式框架。

Vue 只關注視圖層, 采用自底向上增量開發的設計。

Vue 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。

簡而言之就是別人開發好的一個框架,我們在前人的基礎上使用這個框架能夠很快開發出比較炫酷的網頁。

1,首先說一下Vue的安裝。兩種方式:

A:我們可以在官網https://cn.vuejs.org直接下載Vue.min.js文件,并用?<script>?標簽在HTML中引入。地址如下:Vue.js下載

B:使用CDN的方法(設置多個節點服務器,分布在不同區域中,便于用戶進行數據傳遞和訪問。當某一個節點出現問題時,通過其他節點仍然可以完成數據傳輸工作,可以提高用戶訪問網站的響應速度。 )

以下推薦國外比較穩定的兩個 CDN,國內還沒發現哪一家比較好,目前還是建議下載到本地。

  • Staticfile CDN(國內)?:?https://cdn.staticfile.org/vue/2.2.2/vue.min.js

  • unpkg:https://unpkg.com/vue/dist/vue.js, 會保持和 npm 發布的最新的版本一致。

  • cdnjs?:?https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 測試實例 - 菜鳥教程(runoob.com)</title> <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script> </head> <body> <div id="app"><p>{{ message }}</p> </div><script> new Vue({el: '#app',data: {message: 'Hello Vue.js!'} }) </script> </body> </html>

2,Vue.js的模板

每個Vue應用都是通過實例化Vue來實現的,模板如下:

<!DOCTYPE html> <html> <head><meta charset="utf-8"><title>Vue 測試實例 - 菜鳥教程(runoob.com)</title><script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script> </head> <body><div id="vue_det"><h1>site : {{site}}</h1><h1>url : {{url}}</h1><h1>{{details()}}</h1></div><script type="text/javascript">var vm = new Vue({el: '#vue_det',data: {site: "菜鳥教程",url: "www.runoob.com",alexa: "10000"},methods: {details: function() {return this.site + " - 學的不僅是技術,更是夢想!";}}})</script> </body> </html>

3,使用步驟

1. 下載js文件, 或者引入cdn的js文件<script src="js/vue.js"></script>或<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>2. 開始使用vue<div id="x">{{msg}}</div><script>var v = new Vue({el:"#x",data:{msg:"一二三四五, 上山打老虎",msg2:"哈哈哈"}});</script>

實例: 指的是創建出的Vue對象 v
掛載點: 任何一個被Vue對象綁定的 具備id屬性的 元素!
模版: 指的是掛載點中顯示的內容 , 可以在標簽內部 使用插值表達式({{key}}),也可以通過Vue實例的template屬性實現 (template ? ? ? ? ? ?屬性中內容必須被html標簽包含)


4,內容的簡單介紹

插值表達式:

語法格式:{{data中的數據key}}
用于在掛載點中, 加入數據顯示效果 , ?通過在掛載點中, 編寫{{data中的數據key}} , 可以將data中的某數據 與 掛載點中顯示效果進行關聯


Vue對象中 data中的數據

包含多個鍵值對 , 在Vue中使用data數據時, 數據是響應式的 , 當數據更改時, 對應的視覺效果 也會一起更改 !

當我們需要顯示 data 數據時, 如何操作:

1. 使用插值表達式 2. v-text屬性="data中的數據key"3. v-html屬性="data中的數據key"案例:<div id="x"><div>{{msg1}}</div><div v-text="msg2"></div><div v-html="msg3"></div></div><script>var v= new Vue({el:"#x",data:{msg1:"<h3>一二三四五<h3>",msg2:"<h3>上山打老虎</h3>",msg3:"<h3>哈哈哈哈哈</h3>"}});</script>v-text與v-html區別:v-text : 不會解析HTML內容, 而是直接顯示data中的數據,會顯示特殊的<>符號v-html : 會將data中的數據, 先進行html標簽解析, 再顯示效果

模板指令: 事件指令

格式1.步驟1. 在dom元素中, 添加屬性:v-on:事件名="函數名稱"步驟2. 在Vue對象中, 添加屬性methods, methods是JSON對象,包含一個個的鍵值對, 值為function 格式2.屬于格式1的簡寫方式:將格式1中的步驟1修改為: 在dom元素中, 添加屬性:@事件名="函數名稱" 即可 !案例1:<div id="x"><button v-on:click="x1">{{msg}}</button><button v-on:click="x2">{{msg}}</button></div><script>new Vue({el:"#x",data:{msg:0},methods:{x1:function(){this.msg++;},x2:function(){this.msg--;}}});</script>案例2:<div id="x" @click="x1" v-html="msg"></div><script>new Vue({el:"#x",data:{msg:'<img src="images/20.jpg" style="width:200px">'},methods:{x1:function(){this.msg = '<img src="images/20.jpg" style="width:700px">';}}});</script>

模板指令 - 屬性綁定

語法格式1:使用 v-bind:屬性名稱="data中的key"語法格式2: 語法1的簡寫, 使用 :屬性名稱="data中的key" 案例:<div id="x"><img v-bind:src="img" @click="x1"></div><script>new Vue({el:"#x",data:{img:"images/21.jpg"},methods:{x1:function(){this.img="images/22.jpg"}}});</script>

模板屬性 : 數據屬性雙向綁定 ( 僅用于input標簽 )

具體語法實現, 與普通屬性綁定基本一致:v-model="data中的數據key"案例:<div id="x"><input v-model="msg"><div>{{msg}}</div></div><script>var v = new Vue({el:"#x",data:{msg:"一二三四五"}});</script>

Vue的計算屬性

表示一個屬性, 是通過其他多個屬性計算得到的 !格式:computed:{計算屬性名1:function(){//運算邏輯return 屬性值;},計算屬性名2:function(){//運算邏輯return 屬性值;}...}特點:如果參與計算的多個屬性 沒有發生改變, 則每次使用的計算結果 都為 緩存結果 !如果參與計算的屬性 發生了改變, 則每次使用 都會重新運算 !案例:<div id="x"><input v-model="firstName" placeholder="請輸入姓"><input v-model="lastName" placeholder="請輸入名"><h3>{{fullName1}}</h3><h3>{{fullName2}}</h3></div><script>var v=new Vue({el:"#x",data:{firstName:"",lastName:""},computed:{fullName1:function (){return this.firstName+this.lastName;},fullName2:function (){return this.firstName+" "+this.lastName;}}});</script>

偵聽器

用于偵聽data中屬性, 或 計算屬性的變化. 偵聽器表示一個個等待執行的代碼塊, 當被偵聽的屬性發生改變時, 則代碼塊自動執行 !格式:在vue實例中 添加屬性: watch:{偵聽的屬性名1:function(){},偵聽的屬性名2:function(){},...}案例:<div id="x"><input v-model="firstName" placeholder="請輸入姓"><input v-model="lastName" placeholder="請輸入名"><h3>{{fullName1}}</h3><h3>{{fullName2}}</h3><h3>姓被改變{{count1}}次 ,名被改變{{count2}}次, 全名1被改變{{count3}}次, 全名2被改變{{count4}}次</h3></div><script>var v=new Vue({el:"#x",data:{firstName:"",lastName:"",count1:0,count2:0,count3:0,count4:0},computed:{fullName1:function (){return this.firstName+this.lastName;},fullName2:function (){return this.firstName+" "+this.lastName;}},watch:{firstName:function(){count1++;},lastName:function(){count2++;},fullName1:function(){count3++;},fullName2:function(){count4++;}}});</script>

模板指令 v-if

作用: 用于判斷是否加載元素 , 如果結果為true , 則加載此元素 , 如果結果為false 則不加載此元素常用在網頁權限管理頁面: 語法格式:給元素添加屬性: v-if="條件表達式|data中的key" (可以直接編寫true或false , 不過沒有意義 !)案例:<div id="x"><img src="images/24.jpg" v-if="flag"><button @click="x1">顯示</button> <button @click="x2">隱藏</button></div><script>var v=new Vue({el:"#x",data:{flag:true},methods:{x1:function(){this.flag=true;},x2:function(){this.flag=false;}}});</script>

模板指令 v-show

?

作用: 用于判斷是否顯示元素 , 如果結果為true , 則顯示此元素 , 如果結果為false 則不隱藏此元素常用在網頁權限管理頁面: 語法格式:給元素添加屬性: v-show="條件表達式|data中的key" (可以直接編寫true或false , 不過沒有意義 !) 案例:<div id="x"><img src="images/24.jpg" v-show="flag"><button @click="x1">顯示</button> <button @click="x2">隱藏</button></div><script>var v=new Vue({el:"#x",data:{flag:true},methods:{x1:function(){this.flag=true;},x2:function(){this.flag=false;}}});</script>

v-if 與 v-show的區別:

v-if ? ?: ? 控制的是元素是否加載 ?, 當為false時, 直接從網頁中移除元素 !
v-show ?: ? 控制的是元素是否顯示 ?, 無論true或false,元素都會加載, 只是false時,元素display:none!
?

模板指令 v-for

作用:用于在網頁中,循環展示數組數據 !語法格式1:給元素添加屬性: v-for="item of 數組名" , 注意數組名為 data中的數據key , 值為數組語法格式2:給元素添加屬性: v-for="(item,index) of 數組名" , 注意數組名為 data中的數據key , 值為數組在上述的兩種語法格式中, item : 表示每次循環時得到的數據 ,在標簽中 可以通過插值表達式 顯示 {{item}}index : 表示每次循環時數據的索引 ,在標簽中 可以通過插值表達式 顯示 {{index}}案例:<div id="x"><ul><li v-for="item of list">{{item}}</li></ul></div><script>var arr = ["床前明月光","玻璃好上霜","床上及時擦","整不好得臟","哈哈哈哈哈","嘿嘿嘿嘿嘿"];var v=new Vue({el:"#x",data:{list:arr}});</script>

?

總結

以上是生活随笔為你收集整理的大白话讲解Vue前端框架的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美大片高清免费观看 | 一级α片免费看刺激高潮视频 | 欧美在线观看视频一区二区 | 国产老妇伦国产熟女老妇视频 | 91精品久久香蕉国产线看观看 | 九九精品久久 | 国产在线观看网站 | 亚洲欧美日本一区二区 | 久久久一级黄色片 | av在线亚洲天堂 | 午夜九九 | 亚洲一级影院 | www.色播.com | 久久久在线观看 | 亚洲精品无码不卡在线播he | av网站在线播放 | 久久av一区二区 | 天堂中文在线播放 | 超碰97人人爱| 暖暖免费观看日本版 | wwwwxxxx国产| 婷婷五月情 | 亚洲人在线播放 | 亚洲精品一区二区三区影院忠贞 | 黑人巨大精品欧美 | 精品一区二区三区视频日产 | aa视频免费观看 | 一本色道久久综合亚洲 | 国产一线二线在线观看 | 免费在线成人 | 国产精品第8页 | 欧美午夜大片 | 一区二区视频观看 | 国产精品无码一区二区三 | 91精品日韩 | 成人av在线播放网站 | 新97超碰 | 亚洲精品系列 | 中文字幕免费在线 | 美女污污网站 | 青草视频在线 | 97成网 | 男女操操 | 99ri国产在线 | 污免费视频 | 国产精品色呦呦 | 91精品国产综合久久久久久久 | 情欲超| 免费看片91 | 成人91免费视频 | 日本视频免费在线播放 | 久久久久视 | 成人一区二区三区 | 成人四色 | 8x8x永久免费视频 | 9i看片成人免费高清 | 1024金沙人妻一区二区三区 | 免费成年人视频在线观看 | 蜜桃视频日韩 | 欧美a视频在线观看 | av中文字幕免费在线观看 | 日本在线视频www | 亚洲最大黄色网址 | 国产精品色婷婷99久久精品 | 亚洲乱妇 | 欧美精品在欧美一区二区少妇 | 一区二区三区精 | 少妇高潮久久久久久潘金莲 | 亚洲第一国产视频 | 一级黄色片一级黄色片 | 性饥渴的农村熟妇 | 二区视频在线 | 白白色视频在线 | 免费视频黄色 | 婷婷精品在线 | 美女视频91 | 黑丝少妇喷水 | 老司机深夜福利视频 | 欧美日韩色综合 | 强行挺进皇后紧窄湿润小说 | 色婷婷久久久亚洲一区二区三区 | 在线国产小视频 | 国产精品成人aaaaa网站 | 亚洲视频网站在线 | 丁香五色月 | 人人干狠狠干 | 黑丝美女一区二区 | 影音先锋欧美资源 | 日韩精品一区二区三区中文在线 | 青青青青青草 | 日韩欧美第一页 | 少妇中文字幕 | 亚洲国产精品无码久久久 | 成人欧美一区二区三区黑人免费 | 亚洲天堂三区 | 日本护士╳╳╳hd少妇 | 色亚洲色图 | 午夜精品视频在线观看 | 午夜视频日韩 |