天天看點

Vue.js 起步

每個 Vue 應用都需要通過執行個體化 Vue 來實作。

文法格式如下:

接下來讓我們通過執行個體來看下 Vue 構造器中需要哪些内容:

<div id="vue_det">

<h1>site : {{site}}</h1>

<h1>url : {{url}}</h1>

<h1>{{details()}}</h1>

</div>

<script type="text/javascript">

var vm = new Vue({

el: '#vue_det',

data: {

site: "菜鳥教程",

url: "www.runoob.com",

alexa: "10000"

},

methods: {

details: function() {

return this.site + " - 學的不僅是技術,更是夢想!";

}

})

</script>

點選 "嘗試一下" 按鈕檢視線上執行個體

可以看到在 Vue 構造器中有一個el 參數,它是 DOM 元素中的 id。在上面執行個體中 id 為 vue_det,在 div 元素中:

這意味着我們接下來的改動全部在以上指定的 div 内,div 外部不受影響。

接下來我們看看如何定義資料對象。

data 用于定義屬性,執行個體中有三個屬性分别為:site、url、alexa。

methods 用于定義的函數,可以通過 return 來傳回函數值。

{{ }} 用于輸出對象屬性和函數傳回值。

當一個 Vue 執行個體被建立時,它向 Vue 的響應式系統中加入了其 data 對象中能找到的所有的屬性。當這些屬性的值發生改變時,html 視圖将也會産生相應的變化。

<h1>Alexa : {{alexa}}</h1>

// 我們的資料對象

var data = { site: "菜鳥教程", url: "www.runoob.com", alexa: 10000}

data: data

// 它們引用相同的對象!

document.write(vm.site === data.site) // true

document.write("<br>")

// 設定屬性也會影響到原始資料

vm.site = "Runoob"

document.write(data.site + "<br>") // Runoob

// ……反之亦然

data.alexa = 1234

document.write(vm.alexa) // 1234

除了資料屬性,Vue 執行個體還提供了一些有用的執行個體屬性與方法。它們都有字首 $,以便與使用者定義的屬性區分開來。例如:

document.write(vm.$data === data) // true

document.write(vm.$el === document.getElementById('vue_det')) // true