Vue.js 模板語法和數據綁定
模板語法
Vue 模板語法有兩大類
插值語法:
- 功能:用於解析標簽體內容
- 寫法:
{{xxx}}
,xxx是js表達式,可以讀取到 data 中屬性
指令語法:
- 功能:用於解析標簽(標簽屬性、標簽體內容、綁定事件…)
- 寫法:
v-bind:href="xxx"
或簡寫為:href="xxx"
,xxx是js表達式,可以讀取到 data 中屬性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue初識</title> <script type="text/javascript" src="./js/vue.js"></script> </head> <body> <div id="root"> <h1>插值語法</h1> Hello {{name}} <h1>語法指令</h1> <a :href="url" rel="external nofollow" >百度</a> </div> <script type="text/javascript"> new Vue({ el:"#root", data:{ name:"world", url:"https://www.baidu.com" } }) </script> </body> </html>
數據綁定
Vue中有2種數據綁定的方式
- 單向綁定(v-bind):數據隻能從 data 流向頁面
- 雙向綁定(v-model):數據不僅能從 data 流向頁面,還可以從頁面流向data
備註
- 雙向綁定一般都應用在表單類元素上(如: input、select等)
v-model:value
可以簡寫為v-model
,因為v-model
默認收集的就是 value 值
<body> <div id="root"> <!--普通寫法--> 單向數據綁定:<input type="text" v-bind:value="name"><br/> 雙向數據綁定:<input type="text" v-model:value="name"><br/> <!--簡寫--> 單向數據綁定:<input type="text" :value="name"><br/> 雙向數據綁定:<input type="text" v-model="name"><br/> <!--如下代碼是錯誤的,v-model隻能用在表單類元素上(輸入類,有)--> <!--<h2 v-model:x="name"></h2>--> </div> <script type="text/javascript"> new Vue({ el:"#root", data:{ name:"world", } }) </script>
el的兩種寫法
第一種寫法
new Vue({ el:"#root", data:{ name:"world", } })
第二種寫法
const x = new Vue({ data:{ name:"world", } }) console.log(x) x.$mount('#root')
其中 $mount
可以在打印的 vue 實例中找到
data的兩種寫法
第一種寫法:對象式
new Vue({ el: "#root", data: { name: "world", } })
第一種寫法:函數式
new Vue({ el: "#root", data: function () { //此處的this是vue實例對象 return { name: 'world' } } })
或者:
new Vue({ el: "#root", data(){ return { name: 'world' } } })
目前學習兩種寫法都可以,但以後學到組件,必須函數式,否則會報錯
另外:不能寫成箭頭函數,因為 this 就不是 vue 實例對象瞭,而是全局 window
new Vue({ el: "#root", data: ()=> { //此處的this是全局的window return { name: 'world' } } })
到此這篇關於Vue.js 模板語法和數據綁定的文章就介紹到這瞭,更多相關Vue 模板語法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!