第12屆鐵人賽Day 5 v-bind, v-model, v-on
昨天討論了單向資料流的鬍子語法,可以讓我們把Vue實例裡的資料流向html (View)。
但如果要將資料綁定HTML標籤屬性的時候,該怎麼辦呢?
舉例🌰而言,如果我們想把HTML的placeholder
綁上vue instance的data屬性yourname
,這個時候,我們可以使用v-bind
。
單向資料綁定: v-bind
html
<p class="control">
<input class="input" v-bind:placeholder="yourname">
</p>
Vue instance
new Vue({
el: "#app",
data: {
yourname: "請輸入您的暱稱"
},
methods: {
greeting(){
return "這是鐵人賽第五天!"
}
}
})
範例:在這個輸入格的placeholder
提示上綁v-bind:placeholder="yourname"
,就會出現請輸入您的暱稱
的提示字串了。
雙向事件處理: v-model, v-on
在上例表單的情況,
我想要讓使用者輸入暱稱
時,使用v-model
讓暱稱可以即時顯示。
並且讓使用者按下button
時,呼叫thankyou
這個methods裡面的方法。
而Vue的黑魔法,讓this
拿到inputname
裡的值,
所以我們可以透過${this.inputname}
要到使用者的輸入資料,並在畫面上顯示,達成資料回流到Vue instance
的效果。
v-bind和v-on的簡寫
因為v-bind和v-on太有用啦,所以有他自己的語法糖衣syntax sugar
!
資料綁定v-bind :
事件處理v-on @
Vue其實還有其他好用的設計像是v-for
把陣列裡的資料印出來, v-if
, v-show
流程控制。這個部分跟一般程式語言的邏輯還蠻相似的,各位可以參考vue官網範例,暫時不一一贅述。明天將會介紹v-on
跟method結合,以及更多變化的v-compute
。
Ref: