HTML頁面中使用Vue實例進階(快速學會上手Vue)
Vue是用於構建用戶界面的漸進式JavaScript框架。特色:構建用戶界面—數據變成界面;漸進式—Vue可以自底向上逐層的應用。
Vue有兩種使用方式,一種實在html中直接使用Vue做開發,一種是企業級的單頁面應用。後者是主流的使用方式,真正項目中很少使用前一種方式。前一種方式通過在大傢熟悉的HTML環境中使用Vue,大傢很容易去瞭解和熟悉VUE。
Vue框架的兩種使用方式
1、單頁面應用:使用Vue CLI工具生成腳手架,這是最常見的使用方式
2、傳統多頁面應用:通過script引入Vue.js
HTML頁面中簡單使用Vue
首先在head中引入vue的文件
然後在body中寫上一個帶有id的div
首先創建一個new Vue對象 , 一個中括號 , 然後創建一個{} , 中間書寫一個el : #id 選中這個div , 然後書寫數據展示區域data:{ } 括號中定義數據變量 , 以及變量的值
{{變量名稱}}用來在頁面上展示數據
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>快速入門</title> <script src="js/vuejs-2.5.16.js"></script> </head> <body> <div id="app"> {{shuju}} {{NUMBER*10}} {{falese?"ok":"no"}} </div> </body> <script> new Vue( { el:"#app", data:{ shuju:"hello 陳小姐", NUMBER: 10, } } ); </script> </html>
點擊事件
首先定義一個button按鈕 , v-on: click=“func”
定義一個methods :{ } 和data是一個級別的 , 然後你剛才定義的方法名:function(){ }
然後在方法體中 , 寫出你要執行的語句
另外上面的func(‘哈哈哈’) 這個哈哈哈就是方法的一個參數 ,
然後function(msg ){} msg與上文中的哈哈哈對應 , 然後我們把msg賦值給messge , 所以message就顯示為哈哈哈瞭
<body> <div id="app"> {{message}} <button v-on:click="func('哈哈哈哈')" id="mybotton">vue的onclick</button> </div> </body> <script> new Vue({ el:"#app", data:{ message:"hello" }, methods:{ func:function (msg) { alert("陳小姐 , 你願意做我女朋友嗎?") this.message=msg; } } }); </script>
鍵盤事件
和上面的點擊事件一樣 ,隻不過是把click 換成瞭keydown
另外$event 與下文中的event是一個對象 , 也就是與我們傳統JS中的event中的對象是一樣的
然後我們定義一個變量 , 也就是代表每一個按鍵的Unicode編碼 , 然後我們可以不讓鍵盤起作用 , 使用event.preventDefault() 這樣就可以阻止鍵盤起作用 ;
<body> <div id="app"> <input type="text" v-on:keydown="fun($event)"> </div> </body> <script> new Vue({ el:"#app", data:{ meg:"這是一段無敵的代碼" }, methods:{ fun:function (event) { /*event是vue事件對象 和我們傳統JS中的event對象是一樣的*/ var keyCode = event.keyCode; if (keyCode<48||keyCode>57){ //不讓鍵盤的按鍵起作用 event.preventDefault(); } alert("我就是喜歡你"); } } }); </script>
鼠標移動事件
定義事件的操作和上面的操作沒有什麼區別 , 隻是換成瞭mouseover , 另外一個就是 ,v-on: 可以換成@, 兩者之間是等價的
然後還有一個阻止事件傳播 , 及時這個文件域是定義在div中的 , 所以移動到文件域就相當於移動到瞭div中 ,所以我們需要在文件域的函數中阻止事件傳播
event.stopPropagation();
<body> <div id="app"> <div v-on:mouseover="fun1" id="div"> <textarea v-on:mouseover="fun2($event)">這是一個文件域</textarea> </div> </div> </body> <script> new Vue({ el:"#app", methods:{ fun1:function () { alert("這是一個div區域"); }, fun2:function (event) { alert("這是一個文件域"); event.stopPropagation(); } } }); </script>
事件修飾符
這個就是在提交表單的時候 , 會觸發一個函數 , 因為後邊加瞭prevent 所以也就是阻止提交 ,
然後我們在創建一個Vue對象 , 這樣我們就可以對這個表單進行控制瞭
<body> <div id="app"> <form @submit.prevent action="http://www.itheima.com" method="get"> <input type="submit" value="點點我進行提交"> </form> </div> </body> <script> new Vue({ el:"#app" }); </script>
V-text和V-html
兩者之間的區別就是V-text不會去解析等各種HTML標簽 , 而V-html則會去解析這些東西
<body> <div id="app"> <div v-text="message"></div> <div v-html="message"></div> </div> </body> <script> new Vue({ el:"#app", data:{ message:"<h1>陳小姐 , 做我女朋友吧 !<h1>" } }); </script>
V-bind
插值表達式不能作用於HTML標簽的屬性取值 ,要想給HTML屬性設置變量的值 , 需要使用V-bind
<body> <div id="app"> <font v-bind:color="c1">我是一個小逗比</font> <hr> <font v-bind:color="c2">我是一個大逗逼</font> </div> </body> <script> new Vue({ el:"#app", data:{ c1:"green", c2:"blue" } }); </script>
V-for
首先在vue中定義一個數組讓我用來遍歷 , 然後使用v-for即可 , v-for=" ", " "中寫上一個變量並且在哪個數組中
<body> <div id="app"> <li v-for="(item) in arr">{{item}}</li> </div> </body> <script> new Vue({ el:"#app", data:{ arr:['陳','小','姐','我','喜','歡','你'], } }); </script>
遍歷集合
<body> <div id="app"> <li v-for="(k,v) in stu">{{v}}={{k}}</li> </div> </body> <script> new Vue({ el:"#app", data:{ stu:{ id:1, name:"張三豐", age:"100", height:"173" } } }); </script>
遍歷對象數組
<body> <div id="app"> <table border="1px"> <tr> <td>ID</td> <td>name</td> <td>age</td> </tr> <tr v-for="(stu,index) in stus"> <td>{{stu.id}}</td> <td>{{stu.name}}</td> <td>{{stu.age}}</td> </tr> </table> </div> </body> <script> new Vue({ el:"#app", data:{ stus:[ {id:1, name:"張三豐", age:"100"}, {id:2, name:"科比", age:"40"}, {id:3, name:"張帥", age:"25"} ] } }); </script>
V-model
v-model就是可以取出一些對象格式的數據 , 利用對象名 .屬性名 即可取出這些東西
<body> <div id="app"> <form action="#" method="post"> <input type="text" v-model="user.username"> <br> <input type="password" v-model="user.password"> </form> </div> </body> <script> new Vue({ el:"#app", data:{ user:{ username:"張無忌", password:"1234" } } }); </script>
v-show和v-if
show和if其實沒有太大區別 ,可以用來控制是否顯示內容 ,true就顯示 ,false就不顯示
<body> <div id="app"> <span v-if="show">你好啊</span> <hr> <span v-show="show">今天天氣不錯</span> </div> </body> <script> new Vue({ el:"#app", data:{ show:true } }); </script>
到此這篇關於HTML頁面中使用Vue(快速學會上手YUE)的文章就介紹到這瞭,更多相關HTML中使用Vue內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!