vuejs學習筆記(1)--屬性,事件綁定,ajax


本文轉自:http://www.cnblogs.com/shuai5288/archive/2017/04/05/6670923.html

屬性

v-for 類似於angular中的 ng-repeat ,用於重復生成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對象格式的。

 

v-show 與angular中的 ng-show 是一樣的,值為 true 則顯示,false 則隱藏(display:none)。

v-model 與angular中的 ng-model 一樣,主要用於input元素值的綁定。

v-bind: 用於綁定屬性值;

復制代碼
<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' 。

v-bind: 的簡寫形式,如 v-bind:class 可以寫成 :class ,  v-bind:src 可以寫成 :src ,推薦使用簡寫。

事件綁定

vuejs中使用 v-on:click="fn()" 的形式綁定事件:

復制代碼
<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 提供多種形式的事件綁定,沒有他做不到,只有你想不到。

ajax

vue 本身並沒有封裝ajax模塊,我們可以使用vue的插件 vue-resource.js 來做數據交互;當然也可以使用 jquery 

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()跨域 等方法。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM