1、介紹:
在 Vue.js 中,data 選項是一個非常重要且核心的概念。data 是一個物件或工廠函式,用於儲存 Vue 例項或元件的可響應狀態。這意味著任何在 data 中宣告的屬性都將被 Vue 的響應系統所追蹤,當這些屬性的值發生改變時,依賴於這些屬性的檢視部分將會自動更新。也就說data可以為Vue儲存動態資料,當data資料發生變化時,例項或元件將會重新渲染,展現出更新後的data資料。
2、例項:
<!DOCTYPE html>
<html lang="en">
<head>
//option物件中的data
<meta charset="UTF-8">
<title>Title</title>
<script src="./jsdocument/vue.js"></script>
</head>
<body>
<div id="app"></div>
<script>
new Vue({
data:{
message:"Hello Vue!"
},
template:'<h1>{{message}}</h1>'
}).$mount("#app")
</script>
</body>
</html>
對上面程式碼的解釋:
- data是vue的物件,並且這個物件必須是存粹的物件。也就是說這個物件的組織形式必須是
key:value
形式。 {{message}}
是vue的插值語法,可以從data中提煉資料message,然後放到{{message}}對應位置- data可以是物件也可以是函式:
如果是物件那麼可以為如下情況:
//情況一:
data:{
message:"hello vue!"
}
//取值
{{message}}
//情況二:
data:{
user1:{
name:'老杜',
age:18}
}
//取值:
{{user1.name}}
{{user1.age}}
//情況三“
data:{color['紅色','黃色','藍色']}
//取值:
{{color[0]}}
如果是函式,那麼是下面情況:
Vue.component('my-component', {
template: '<div>{{ message }}</div>',
data: function() {
return {
message: 'Hello from component'
};
}
});
-
執行過程:vue對template模板進行解析,如果遇到插值語法{{}},那麼會從中data中讀取對應資料然後插入對應位置,最後生成html程式碼
-
注意:
私有性:當 data 是一個函式時,每個元件例項都有獨立的 data 副本,這保證了元件例項間的隔離。
初始化:data 中的屬性應該在元件初始化時就存在,以便 Vue 能夠追蹤它們。
可響應性:在 data 中定義的屬性是響應式的,這意味著當它們改變時,Vue 會檢測到變化並觸發檢視的更新。
訪問方式:在元件的模板和方法中,你可以透過 this 關鍵字來訪問 data 中的屬性,例如 this.message。