国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Vue.js 快速入門

caspar / 606人閱讀

摘要:改變其中的任何一層,另外一層都會改變。插值相信你也注意到了,通過的形式就能取到的值,并與進行綁定。中改變中的值時相應也改變了中的,從而也得到改變。上面的代碼改為這樣則不會隨著數據的改變而更新。顧名思義,用于條件判斷,和是一對。

什么是Vue.js

vue是法語中視圖的意思,Vue.js是一個輕巧、高性能、可組件化的MVVM庫,同時擁有非常容易上手的API。作者是尤雨溪,寫下這篇文章時vue.js版本為1.0.7

準備

我推薦使用sublime text作為編輯器,關于這個編輯器可以看我這篇文章。在package control中安裝

Vuejs Snippets

Vue Syntax Highlight

推薦使用npm管理,新建兩個文件app.html,app.js,為了美觀使用bootstrap,我們的頁面模板看起來是這樣:





    
    Document
    



    

Vue demo

.......
安裝

使用npm安裝:

npm install vue

當然你也可以在github上clone最新的版本并作為單文件引入,或者使用CDN:

http://cdn.jsdelivr.net/vue/1.0.7/vue.min.js
http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.7/vue.min.js
HelloWorld

動手寫第一個Vue.js 應用吧。
app.html:

{{message}}

app.js:

new Vue({
    el:"#app",
    data: {
        message:"hello vue.js."
    }
});
創建Vue實例

在使用Vue.js之前,我們需要先像這樣實例化一個Vue對象:

new Vue({
   el:"#app"
});
雙向數據綁定

就像HelloWorld展示的那樣,app.html是view層,app.js是model層,通過vue.js(使用v-model這個指令)完成中間的底層邏輯,實現綁定的效果。改變其中的任何一層,另外一層都會改變。

插值

相信你也注意到了,通過{{value}}的形式就能取到value的值,并與value進行綁定。HelloWorld中改變input中的值時相應也改變了app.js中的message,從而{{message}}也得到改變。上面的代碼改為這樣:

{{*message}}

則message不會隨著數據的改變而更新。同時還支持一些簡單的表達式:

{{message + "vue is awesome"}}
{{ message.split("").reverse().join("") }}
常用的指令 v-model

v-model可用于一些表單元素,常見的input,checkbox,radio,select:



Selected: {{ selected | json }}
v-for

列表渲染在實際開發中非常常見,vue.js使用v-for這個指令就能完成,v-for取代了1.0以前版本中的v-repeat。在app.js中準備一些數據:

new Vue({
        el: "#app",
        data: {
            book: {
                id: 0,
                author: "",
                name: "",
                price: ""
            },
            books: [{
                id: 1,
                author: "曹雪芹",
                name: "紅樓夢",
                price: 32.0
            }, {
                id: 2,
                author: "施耐庵",
                name: "水滸傳",
                price: 30.0
            }, {
                id: "3",
                author: "羅貫中",
                name: "三國演義",
                price: 24.0
            }, {
                id: 4,
                author: "吳承恩",
                name: "西游記",
                price: 20.0
            }]
        }
 })

在data里我們設置了兩個數據book和book[] books,在app.html中我們只要這樣就能獲取到數據了:

 
   {{book.id}}
   {{book.name}}
   {{book.author}}
   {{book.price}}

如果你比較細心的話,在數據還未加載完時是會有閃爍的情況出現,解決方法也很簡單,使用v-cloak,然后定義css:

 [v-cloak] { display: none }
v-on

vue.js通過v-on完成事件處理與綁定,比如為一個button綁定click事件,我們就可以這么寫:


也可以縮寫:


我們需要為v-on傳入事件參數,然后在vue的實例中聲明doSomething這個方法就可以調用了:

new Vue({
  el: "#app",
  methods: {
    doSomething: function () {
      /...../
    }
  }
})

接著上面書的例子,我們用v-model綁定form:

   
添加書籍

在app.js中增加我們的addBook方法:

 methods: {
        addBook: function() {
            //計算書的id
            this.book.id = this.books.length + 1;
            this.books.push(this.book);
            //將input中的數據重置
            this.book = "";
        }
    }
    

我們再健全一下功能,增加一個刪除按鈕:


delBook方法:

  delBook:function(book){
       this.books.$remove(book);
  }

vue.js為數組擴展了$remove方法,查找并刪除我們作為參數傳遞過去的book。

v-if/v-else/v-show

顧名思義,v-if用于條件判斷,和v-else是一對。用法也很簡單,下面的代碼是將id為偶數的操作按鈕換個樣式:

  
  
   

這里用到了