接續著上一篇的進階模板語法-01的內容繼續記錄。
Computed與Watch
Computed過濾陣列內容
之前的章節是利用按下一個鈕,觸發methods裡面的一個function進而來過濾陣列,並將過濾完的結果
呈現在畫面上。
那這邊的話,我們希望使用者輸入完內容後,就會自動的將過濾完且符合搜尋內容的條件給呈現在畫面上。
那這樣的話,我們就需要用到computed來達成,不需要額外操作(像是:按下enter)才達成這種效果。
上面這個例子,當我們在input欄位裡面輸入搜尋值,此時,filterText會變動,
也就會連動到computed中的filterData,並在filterData裡面做判斷,若輸入的搜尋內容
有符合arrayData的內容的話,就回傳該元素值到filterData中,進而在畫面呈現filterData,
但以上這個例子,在資料量大的話會有效能上的議題。
使用 Computed 來呈現時間格式。
ex:
1 | ---HTML--- |
以上用computed的方式,就能即時的呈現當下的時間囉~
Watch
當特定的變數變化的時候,會去執行特定的function
以上這個範例,就是利用watch去監聽trigger是否有變動,若有,就去執行相對應的function。
也就是當1秒後,trigger的值會被切回去false,也就是把rotate的效果給拿掉。
表單細節操作
透過v-for來製作selected裡面的資料
ex:
1 | ---HTML--- |
以上的範例,就會動態的將selectData陣列裡面的元素渲染進option裡面。
但要特別記得,每個option的value屬性都是動態的被加入的,所以,前面要記得加v-bind。
另外,當點選某個option的時候,該option的value會被塞到selected2裡面,
所以,最終在p段落裡面就會成現selected2的值,也就是你選取的option的value囉~
多選
只要在select的HTML標籤中,加入multiple就可以有多選的功能囉
ex:
1 | ---HTML--- |
當你在select中加入multiple時,你在點選該欄位中的option時,記得按下Ctrl鍵來複選,
此時,selected2裡的內容,就是你複選完的結果囉。
