計算機技術發展迅猛,技術更新快,所有技術都掌握到好像不太現實,這個時候搜索問題就變成了提高技術的重要能力。這也是我一直在思考的。
技巧總結成一句話就是:當不能找到對應的直接答案時,去找同樣技術或者更底層的技術的思想或者同樣的套路。
今天接到一個任務,是需要在一個輸入框輸入完 3 個字符後,數據庫用模糊查找返回包含這 3 個字符的列表,然後在用戶選中後,便調用另一個函數將對應的信息顯示在同一個頁面。
前面的一個功能是之前的開發人員已經寫好了,並且封裝成了Vue
(JS
的一個框架)的一個組件,我們暫且叫組件A
。後一個問題是需要實現的,但由於一直搞Java
的我不太清楚前端,所以要如何實現用戶選中後就調用另一個函數?
查看了組件A
的代碼,發現是在這個組件裏面寫了一個Select
,當然有對應的事件觸發函數@change
,但我不太明白這個@change
所調用的函數是不是用戶選擇後的(前端基礎不行,現在想想感覺這個問題還是挺弱智的),所以我百度搜索了“下拉框選中一個選項後 觸發事件
”。
發現不管是哪個帖子,都沒有說到Vue
子組件對於這個功能的實現。
然後我打開了一篇帖子:https://blog.csdn.net/happy_jijiawei/article/details/47439143
裏面只是用原生JS
說明如何實現下拉框選中一個選項後,觸發事件的功能。要按照以前的我,搜索到這種帖子後應該瀏覽不超過 3 秒就移步右上角的X
了(因爲這個解答跟我自己的問題隔了個Vue子組件
的框架)。
但現在我會沉下心慢慢看懂帖子在說什麼東西,雖然不算特別透徹,但也明白了個大概,就是說要實現下拉框選中一個選項後去觸發事件,就是在Select
的onchange
事件中調用對應函數就行了。
於是乎,我去Vue
的子組件中看Select
的@change
,如果按照這篇帖子所說,應該在這裏的@change
中寫上要調用的方法就能實現效果。那麼現在問題就定位到:如何讓父組件寫上這個調用的函數?即問題就變成了:如何讓父組件與子組件進行函數通訊?
後面問題就迎刃而解了,在Vue
官網可以找到父組件與子組件的通訊的相關知識點。
至此問題解決。
所以說,對於這個問題,我的搜索過程是:本想搜索Vue
子組件如何實現這個功能,卻搜索到了原生JS
如何實現這個功能,然後把問題拆分成了兩部分,才圓滿解決。
所以說不能直接搜索到答案的時候,不妨沉下心來看看同樣的技術或者更底層的技術(如本題的JS
)是否與你的問題有一絲絲聯繫?不一定一搜就是正確答案,這纔是編程的魅力所在吧。
開個貼記錄一下,互勉互勉。