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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

【Vue】Vue入门 -(本地篇+网络篇)代码示例及运行效果

發(fā)布時間:2024/2/28 vue 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Vue】Vue入门 -(本地篇+网络篇)代码示例及运行效果 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、Vue

可參考:Vue官方文檔

Vue 將 DOM 元素看作是對象,可以將元素與Vue實(shí)例綁定,實(shí)現(xiàn)通過操作數(shù)據(jù)改變元素內(nèi)容。不需要用 jQuery 手寫各種各樣的選擇器了。


二、本地篇:Vue基礎(chǔ)語法

1. 基本語法總結(jié)

v-text:用于設(shè)置 標(biāo)簽的文本
v-html:用于設(shè)置 標(biāo)簽的innerHtml
v-on:用于事件綁定,例如:點(diǎn)擊事件/回車按下事件
v-show:根據(jù)bool值,切換元素顯示或隱藏,本質(zhì)是切換元素的display樣式,支持使用表達(dá)式age>=18
v-if:功能同上,本質(zhì)是操作dom樹,直接將整個元素從dom中移除,但對性能的消耗較大
v-bind:用于綁定元素的屬性,如class,title,src等屬性。
v-for:根據(jù)數(shù)據(jù)生成列表結(jié)構(gòu),經(jīng)常和數(shù)組結(jié)合使用,可用于生成評論區(qū)
v-model:雙向綁定,設(shè)置和獲取表單元素的值:表單/數(shù)據(jù)任意一個修改,另外一個會隨之修改

2. 代碼示例

<!DOCTYPE html> <html><head><meta charset="utf-8"><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><title>Vue基礎(chǔ)</title></head><body><div id="app">{{ people.name +' is a programmer'}}<h4 v-text="people.hobby+' is his hobby'"></h4><p v-html="content"></p><!-- v-html用于設(shè)置標(biāo)簽的innerHtml --><p v-text="content"></p><!-- v-text用于設(shè)置標(biāo)簽的文本 --><input type="button" value="v-on綁定" v-on:click="myaction" /><!-- v-on用于事件綁定 --><input type="button" value="v-on簡寫" @click="myaction" /><input type="button" value="雙擊" @dblclick="myaction" /><input type="text" @keyup.enter="alertHi" /><!-- 按鍵彈起后回車觸發(fā) --><h4 @click="changeHobby(666)">點(diǎn)擊hobby示例:{{people.hobby}}</h4><hr /><h3>點(diǎn)擊按鈕實(shí)現(xiàn)加減操作</h3><!-- 點(diǎn)擊按鈕實(shí)現(xiàn)加減操作,同理在data中寫一個保存圖片地址的imgArr,可以實(shí)現(xiàn)圖片輪播圖 --><div class="input-num"><button @click="sub">-</button><span>{{num}}</span><button @click="add">+</button></div><hr /><h3>v-show v-if切換元素的顯示或隱藏</h3><!-- v-show根據(jù)bool值,切換元素的顯示或隱藏,本質(zhì)是切換元素的display樣式,也可以寫表達(dá)式age>=18 --><!-- v-if本質(zhì)是操作的dom樹,當(dāng)false時,直接將整個元素從dom中移除,相比v-show,v-if對性能的消耗較大 --><input type="button" value="toggle" @click="toggleShow" /><h3 v-show="isShow">v-show切換顯示狀態(tài)</h3><h3 v-if="isShow">v-if切換顯示狀態(tài)</h3><hr /><h3>v-bind用于綁定元素的屬性</h3><!-- v-bind用于綁定元素的屬性,如class,title,src等屬性。 --><img v-bind:src="imageSrc" v-bind:title="imgTitle+',哈哈'" /><!-- v-for根據(jù)數(shù)據(jù)生成列表結(jié)構(gòu),經(jīng)常和數(shù)組結(jié)合使用,數(shù)組內(nèi)容的更新會響應(yīng)式的同步到頁面上 --><hr /><h3>v-for循環(huán)生成列表元素</h3><ul><li v-for="(obj,i) in vegetables" v-bind:title="obj.price+''">i={{i}} {{obj.name}} 價(jià)格:{{obj.price}}</li></ul><hr /><h3>v-model雙向綁定</h3><!-- v-model雙向綁定,設(shè)置和獲取表單元素的值:表單/數(shù)據(jù)任意一個修改,另外一個會隨之修改 --><input type="text" v-model="userInput" @keyup.enter="alertInput()" /><input type="button" value="點(diǎn)擊修改數(shù)據(jù)" @click="modifyInput()" /><h5>{{userInput}}</h5></div><hr /><h3>動態(tài)追加/刪除元素</h3><div id="todoapp"><input type="text" v-model="todoInput" @keyup.enter="enterAction()" /><input type="button" value="點(diǎn)擊或回車" @click="enterAction()" /><input type="button" value="清空" @click="clearAll" /><ul>總數(shù):{{todoArr.length}}<div v-if="todoArr.length>0">有值才顯示這句話</div><li v-for="(text,i) in todoArr" style="background-color: #ffe8b0; border: 1px solid #55aaff;">{{i+'. '+text}}<input type="button" value="刪除" @click="delNode(i)" /></li></ul></div><script>var todoapp = new Vue({el: '#todoapp',data: {todoArr: ['敲代碼', '睡覺', '玩兒...'],todoInput: "",},methods: {enterAction: function() {this.todoArr.push(this.todoInput);},delNode: function(i) {console.log(i)this.todoArr.splice(i, 1); //刪除一個元素},clearAll:function(){this.todoArr=[];}}});var app = new Vue({el: '#app', //el:掛載點(diǎn)data: { //數(shù)據(jù)message: 'Hello Vue!',people: {name: 'gly',hobby: 'coding...'},content: "<a href='#'>一個鏈接</a>",num: 1,isShow: true,imageSrc: "http://www.itheima.com/images/logo.png",imgTitle: "懸停顯示名稱",vegetables: [{name: "西紅柿炒雞蛋",price: "30"}, {name: "大白菜",price: "23"}],userInput: "這是用戶輸入"},methods: { //方法myaction: function() {alert('hello');},changeHobby: function(num) {this.people.hobby += num;this.people.hobby += '真有趣';},add: function() {this.num++;},sub: function() {this.num--;},toggleShow: function() {this.isShow = !this.isShow;},alertHi() {alert("Hi");},alertInput() {alert(this.userInput);},modifyInput() {this.userInput += "修改數(shù)據(jù)";}}})</script></body> </html>

3. 運(yùn)行效果


三、網(wǎng)絡(luò)篇:axios 的使用

1. axios

axios是一個功能強(qiáng)大的網(wǎng)絡(luò)請求庫,可以看作是對ajax的封裝。語法:

來看兩個用來測試的接口:

2. 示例代碼

<!DOCTYPE html> <html><head><meta charset="utf-8"><title>Vue網(wǎng)絡(luò)</title><!-- axios:功能強(qiáng)大的網(wǎng)絡(luò)請求庫 --><script src="https://unpkg.com/axios/dist/axios.min.js"></script></head><body><input type="button" value="get請求" class="get" /><input type="button" value="post請求" class="post" /><script>//get請求:測試獲取笑話document.querySelector(".get").onclick=function(){axios.get("https://autumnfish.cn/api/joke/list?num=6").then(function(response){//請求成功console.log(response);},function(err){//請求失敗console.log(err);})}//post請求:測試用戶注冊document.querySelector('.post').onclick=function(){axios.post("https://autumnfish.cn/api/user/reg123123",{username:"寒泉Hq"}).then(function(response){console.log(response);},function(err){console.log(err);})}</script></body> </html>

3. 運(yùn)行效果

4. vue 整合 axios 示例

<!DOCTYPE html> <html><head><meta charset="utf-8"><title>Vue網(wǎng)絡(luò)</title><!-- axios:功能強(qiáng)大的網(wǎng)絡(luò)請求庫 --><script src="https://unpkg.com/axios/dist/axios.min.js"></script><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script></head><body><div id="app"><input type="button" value="獲取笑話" class="get" @click="getJoke" />{{joke}}</div><script>var app = new Vue({el: "#app",data: {joke: "這里顯示笑話"},methods: {getJoke: function() {var tempThis = this;axios.get("https://autumnfish.cn/api/joke/list?num=1").then(function(response) {console.log(response);tempThis.joke = response.data.jokes;})}}})</script></body> </html>

總結(jié)

以上是生活随笔為你收集整理的【Vue】Vue入门 -(本地篇+网络篇)代码示例及运行效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。