大家都知道Vue.js是中國人創造出來的,簡單易用,所以必須要支持一下
Vue采用的MVVM設計模式
也就是說model和view綁定
model改變,view的內容改變,反之亦然
Vue主要有以下幾個關鍵字
v-model 綁定模型
v-if 判斷是否顯示該dom
v-show 判斷是否將該dom的display設為none
v-else if或者show為false時顯示該dom
v-for 迭代
v-bind 綁定屬性
v-on 綁定方法
我們以一個可查找的信息管理系統為例子
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="styles/demo.css" /> </head> <body> <div id="app"> <span>key</span> <!-- 綁定model中search.key --> <!-- 內容和下面每一列的數據進行比較 --> <!-- 內容改變,下面的每一列都馬上會進行比較 --> <input type="text" v-model="search.key"> <legend> Create New Person </legend> <div class="form-group"> <label>Name:</label> <!-- 綁定model中newPerson.name --> <input type="text" v-model="newPerson.name"/> </div> <div class="form-group"> <label>Age:</label> <!-- 綁定model中newPerson.age --> <input type="text" v-model="newPerson.age"/> </div> <div class="form-group"> <label>Sex:</label> <!-- 綁定model中newPerson.sex --> <select v-model="newPerson.sex"> <option value="Male">Male</option> <option value="Female">Female</option> </select> </div> <div class="form-group"> <label></label> <!-- @click是v-on:click的縮寫 --> <button @click="createPerson">Create</button> </div> </fieldset> <table> <thead> <tr> <th>Name</th> <th>Age</th> <th>Sex</th> <th>Delete</th> </tr> </thead> <tbody> <!-- 用v-for迭代,$index為每一個item的索引 --> <!-- v-if判斷為true則顯示,否則則移除,這里更適合用v-show,v-show并不會移除dom只會將display屬性改為none --> <!-- 和搜索框內容進行比較 --> <tr v-for="person in people" v-if="person.name.indexOf(search.key)>=0||person.sex.indexOf(search.key)>=0||person.age==search.key"> <td >{{ person.name }}</td> <!-- :style是v-bind:style的縮寫,滿足條件則值為前面的,否則為后面的,固定的字符串要用' ',變量不需要用'' --> <!-- v-bind后面還可以接其他的屬性例如class,id --> <td :style="person.age>30 ? 'color: red' : ' ' ">{{ person.age }}</td> <!-- v-else元素必須立即跟在v-if或v-show元素的后面――否則它不能被識別 --> <td v-if="person.sex =='Male'">男</td> <td v-else>女</td> <td class="text-center"><button @click="deletePerson($index)">Delete</button></td> </tr> </tbody> </table> </div> </body> <script src="js/vue.js"></script> <script> // 初始化Vue //el獲取綁定的標簽,#app獲取id為app的dom,.app的話則獲取class為app的dom //data中為模型 //methods為方法 var vm = new Vue({ el: '#app', data: { search:{ key:"" }, newPerson: { name: '', age: 0, sex: 'Male' }, people: [{ name: 'Jack', age: 30, sex: 'Male' }, { name: 'Bill', age: 26, sex: 'Male' }, { name: 'Tracy', age: 22, sex: 'Female' }, { name: 'Chris', age: 36, sex: 'Male' }] }, methods:{ createPerson: function(){ this.people.push(this.newPerson); // 添加完newPerson對象后,重置newPerson對象 this.newPerson = {name: '', age: 0, sex: 'Male'} }, deletePerson: function(index){ // 刪一個數組元素 this.people.splice(index,1); } } }) </script></html>
不需要太多的解釋,直接看代碼就知道Vue用法是什么
效果圖
代碼我已上傳到github
本文已被整理到了《Vue.js前端組件學習教程》,歡迎大家學習閱讀。
關于vue.js組件的教程,請大家點擊專題vue.js組件學習教程進行學習。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答