v-for 相似於angular中的 ng-repeat ,用於重複生成html片斷;html
<ul id="box"> <li v-for="(v, i) in list">{{v}}</li> </ul> <script> var vm = new Vue({ el: '#box', // 對應的元素選擇器 或者是 指向元素的變量 data: { // data list: [1,2,3] } }); </script>
也能夠寫成這種形式 v-for='v in list' ,重複的數據也能夠是js對象格式的。vue
v-show 與angular中的 ng-show 是同樣的,值爲 true 則顯示,false 則隱藏(display:none)。jquery
v-model 與angular中的 ng-model 同樣,主要用於input元素值的綁定。es6
v-bind: 用於綁定屬性值;ajax
<img v-bind:class="class" v-bind:src="src"/> <script> var vm = new Vue({ el: '#box', // 對應的元素選擇器 或者是 指向元素的變量 data: { // data class: ['class1','class2'], // src: 'img/1.png' } }); </script>
這裏的class數據也能夠是對象形式的 {'class1': true, 'class2': false},對象中的key值爲類名,value爲真則應用此類名,不然反之;
還能夠是字符串 'class1' 。json
v-bind: 的簡寫形式,如 v-bind:class 能夠寫成 :class , v-bind:src 能夠寫成 :src ,推薦使用簡寫。跨域
vuejs中使用 v-on:click="fn()" 的形式綁定事件:promise
<input type="button" v-on:click="add()"> // <input type="reset" v-on:click=" username='123' "> // 也能夠是一條js語句 <input type="button" @click="add($event)"> // @click 是 v-on:click 的簡寫,推薦使用 <input type="text" @click.stop="add($event)"> // .stop 表示阻止冒泡 <input type="text" @click.prevent="add($event)"> // .prevent 表示默認行爲 <input type="text" @keydown.up="add($event)"> // .up 對應鍵盤up鍵 <input type="text" @keydown.left="add($event)"> // .left 對應鍵盤left鍵
<input type="text" @keydown.13="add($event)"> // .13 對應 enter 鍵
<script> var vm = new Vue({ el: '#box', // 對應的元素選擇器 或者是 指向元素的變量 data: { // data username: 'vuejs' },
methods: { // 存放事件對應的方法
add:function(e){}
} }); </script>
vue 提供多種形式的事件綁定,沒有他作不到,只有你想不到。函數
vue 自己並無封裝ajax模塊,咱們能夠使用vue的插件 vue-resource.js 來作數據交互;固然也能夠使用 jquery vue-resource
vue-resource.js 的API 與jquery的 ajax 相似,容易上手:
<script src="vue.js"></script> <script src="vue-resource.js"></script>
<script> var vm = new Vue({ el: '#box', // 對應的元素選擇器 或者是 指向元素的變量 data: { // data username: 'vuejs' },
methods: { // 存放事件對應的方法
get: function(e){
this.$http.get('url').then(
function(result){console.log('success')}, // 請求成功的回調函數
function(result) {console.log('fail')} // 失敗時的回調函數
)
}
} }); </script>
$http.get() 返回的是 promise 對象。大白話講解Promise(一)
$http也支持 post(), jsonp()跨域 等方法。