接續著上一篇的進階模板語法-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裡的內容,就是你複選完的結果囉。