Vue.js是目前比較火的輕量級的前端框架之一。是一套構建用戶界面的漸進式框架。html
Vue 的目標是經過儘量簡單的 API 實現響應的數據綁定和組合的視圖組件。前端
var newVue=new Vue({ el:'#demo', data:{ name:'curry', age:18, }, create:function(){ console.log("hello,"+this.name); }, methods:{ showMsg(){ console.log("hello,"+this.name); }, }, })
Vue包含掛在元素(el),數據(data),模板(template),方法(methods)與生命週期鉤子(created等)等選項。不一樣的實例選項擁有不一樣的功能,如:數組
v-text: 用於更新綁定元素中的內容前端框架
<div v-text="text"></div> //二者同樣 <div>{{text}}</div>
v-html: 用於更新綁定元素中的html內容app
<div v-html="html"></div>
通常狀況下不會再頁面使用html插入,以防止xss攻擊。框架
v-show:根據表達式之真假值,切換元素的display CSS 屬性dom
<div v-show=true>顯示我</div>
根據表達式的值的真假條件渲染元素xss
//根據隨機值來進行顯示不一樣的內容 <div v-if="Math.random() > 0.5"> Sorry </div> <div v-else> Not sorry </div>
v-else 、v-else-if 必須跟在 v-if 或者 v-else-if以後。性能
v-for是以item in items的形式的特殊語法,經常使用來綁定數據到數組來渲染一個列表優化
<div id="app"> <ol> <li v-for="site in sites"> {{ site.name }} </li> </ol> </div> <script> new Vue({ el: '#app', data: { sites: [ { name: '張三' }, { name: '李四' }, { name: '王五' } ] } }) </script>
也能夠將第二個參數做爲鍵名
<li v-for="(value, key) in object"> {{ key }} : {{ value }} </li>
第三個參數爲索引
<li v-for="(value, key, index) in object"> {{ index }}. {{ key }} : {{ value }} </li>
v-on:綁定事件監聽器
<button v-on:click="doThis"></button> <!-- 縮寫 --> <button @click="doThis"></button>
v-bind:動態地綁定一個或多個特性,或一個組件 prop 到表達式。
<!-- 綁定一個屬性 --> ![](imageSrc) <!-- 縮寫 --> ![](imageSrc) <!-- class 綁定 --> <div :class="{ red: isRed }"></div> <div :class="[classA, classB]"></div> <div :class="[classA, { classB: isB, classC: isC }]"> <!-- style 綁定 --> <div :style="{ fontSize: size + 'px' }"></div> <div :style="[styleObjectA, styleObjectB]"></div> <!-- 綁定一個有屬性的對象 --> <div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>
v-model:隨表單控件類型不一樣而不一樣。只有
、
、components可使用。
用於表單控件綁定。
<input v-model="remark"></input>
修飾符:
<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >
<input v-model.number="age" type="number">
<input v-model.trim="msg">
v-once:只渲染元素和組件一次。隨後的從新渲染,元素/組件及其全部的子節點將被視爲靜態內容並跳過。這能夠用於優化更新性能。
<span v-once>This will never change: {{msg}}</span> <!-- 有子元素 --> <div v-once> <h1>comment</h1> <p>{{msg}}</p> </div>