要使用Vue對(duì)象將控件綁定起來(lái),需要先定義Vue對(duì)象,Vue對(duì)象實(shí)際上就是一個(gè)JavaScript的對(duì)象。在定義對(duì)象時(shí),需要將實(shí)例化的Vue對(duì)象賦值給一個(gè)變量,以便于后續(xù)調(diào)用。
var vm = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
在上面的代碼中,我們實(shí)例化了一個(gè)Vue對(duì)象,并將它命名為“vm“。其中,el屬性指定了Vue對(duì)象要控制的HTML元素,這里是ID屬性為“app”的DIV元素。data屬性則是一個(gè)對(duì)象,用來(lái)保存需要綁定的數(shù)據(jù),這里我們定義了一個(gè)名為message的屬性,它的值是“Hello Vue!”。
接下來(lái),我們將這個(gè)數(shù)據(jù)綁定到頁(yè)面上某個(gè)控件上。可以使用雙括號(hào)的語(yǔ)法來(lái)輸出Vue對(duì)象的屬性到HTML標(biāo)簽中。例如,下面的代碼將message的值輸出到ID為app的DIV元素中:
{{ message }}
當(dāng)Vue對(duì)象的message屬性發(fā)生變化時(shí),HTML中綁定的值也會(huì)自動(dòng)更新。例如,我們可以通過(guò)方法來(lái)改變message的值:
var vm = new Vue({ el: '#app', data: { message: 'Hello Vue!' }, methods: { changeMessage: function () { this.message = 'New message!' } } })
在上面的代碼中,我們定義了一個(gè)名為changeMessage的方法,它可以改變Vue對(duì)象的message屬性。在HTML頁(yè)面中,我們可以綁定一個(gè)按鈕來(lái)調(diào)用這個(gè)方法:
在上面的代碼中,我們使用了Vue的指令v-on來(lái)綁定click事件,調(diào)用了changeMessage方法。當(dāng)按鈕被點(diǎn)擊時(shí),message屬性就會(huì)被改變?yōu)椤癗ew message!”。
除了使用雙括號(hào)和指令v-on來(lái)綁定數(shù)據(jù)和事件,Vue還提供了其他一些指令,用于更靈活地控制HTML標(biāo)簽。例如,下面的代碼使用指令v-bind來(lái)綁定一個(gè)變量到HTML標(biāo)簽的class屬性上:
在上面的代碼中,我們使用了v-bind指令來(lái)動(dòng)態(tài)綁定class屬性。其中,對(duì)象表達(dá)式{'active': isActive}如果isActive為true,則class屬性為“active”,否則為無(wú)。因此,只要將isActive屬性綁定到Vue對(duì)象中,就可以動(dòng)態(tài)地控制class屬性了。
總之,使用Vue對(duì)象綁定控件可以實(shí)現(xiàn)前端的動(dòng)態(tài)效果,讓數(shù)據(jù)和頁(yè)面更好地交互。Vue提供了豐富的指令和API供開(kāi)發(fā)者使用,可以使用JavaScript實(shí)現(xiàn)更靈活的控制。