接續上一篇還沒介紹完的基礎Vue的功能。
computed 運算功能
在computed
物件中的屬性,它都會是一個function,而這些function都會回傳一個值。
另外,必須要是在同一個Vue物件底下的data物件的屬性值有更動時,computed
才會被觸發。
換言之,如果不是在同一個Vue物件底下的data物件的屬性值有更動的話,computed
是不會被觸發的。
上面這個例子,當你在input
的欄位裡面輸入內容,
會直接在的位置,直接呈現被反轉後的字串結果。
由以上範例可知,當data物件中的text內容有被更動的時候,因為,computed中,有調用data中的text成員,
所以,computed會被觸發,而其reverseText屬性會存入函式回傳的text反轉後的字串內容,
並透過的方式,呈現在畫面上。
另外,要注意,在reverseText中,要調用同一個物件底下的成員屬性時,要記得加this
。
computed 和 methods的差別
computed
是在監控資料更動後,重新運算結果呈現於畫面上
一般來說不會修改資料,只會回傳用於畫面呈現的資料。
就像是在computed
那邊提到的範例一樣。
methods
就是互動的函式,需要觸發才會運作,
像是:按下某個鈕,才會觸發某個事件
像是在v-on
那邊提到的範例一樣。
Vue 表單與資料的綁定
將表單中的值,與陣列資料綁定在一起。
用checkBox和radioBox來舉例。
其中,checkBox可以多選,radioBox是單選。
checkBox
首先,若該選項有值的話,可以將該值塞入到一個陣列裡面。
當你按下其中一個選項,會將相對應的value塞到陣列checkboxArray裡面,
並用v-for
的方式去遍歷checkboxArray這個陣列,將裡面的元素印出來。
radioBox
接下來,以radioBox為例
由上面這個例子可以看到,RadioBox是去綁定singleRadio這個值,並將該
singleRadio的結果呈現在最後的p段落裡面。其實,用法跟CheckBox差不
多啦,只是一個是多選,一個是單選,並且v-model要綁定的對象也不同
醬。
selected
接下來,以selected為例
以上面這個例子,你可以看到v-model
綁定的是selected
,就是被選擇的選項。
要注意,在”請選擇”的選項的value要記得給它預設值””。
而在請選擇的這個option
裡面有disabled
這個內容,它的意思是,當其他選
項被選擇後,”請選擇”這個選項就不能被選擇了。
元件基礎概念 - 如何自製自己的Vue元件
這邊是用計數器來作範例
首先,在製作Vue物件的內容,要寫在你創建Vue物件的內容的”前面”喔,
也就是Vue.component()
的內容要寫在var app = new Vue({})
的前面。
不然,自製元件會不見,不過我現在也只有發現這個現象,沒去研究這個現象。
以上這個製作元件的內容
在Vue.component中第一個引數,要丟你想製作的標籤的名稱,像這邊就
取名為countercomponent,
接著,Vue的自製元件的data物件,限定你得用function的形式回傳物件,
並在回傳的物件中加入你想要的成員。
最後,是這個自製元件的樣式
你就在template的指令裡面,加入你想要這個標籤的樣式。
最後,你在html文件中,加入妳自定義的標籤,如此,就可以達成標籤與
標籤之間,擁有自己的計數器了。