Vue框架使得前端開發更容易實現許多功能,例如:實時搜索框。在這篇文章中,我們將探討Vue框架如何實現搜索框,讓我們開始吧!
首先,讓我們在 HTML 文件中添加一個輸入框和一個列表,用于顯示搜索結果:
<div id="app"> <input v-model="searchTerm"> <ul> <li v-for="result in searchResults">{{ result }}</li> </ul> </div>
現在,我們需要將輸入框的值綁定到 Vue 數據模型中。我們將定義“searchTerm”變量,以便用戶可以輸入搜索詞,并將搜索框的值綁定到模型中:
<script> var app = new Vue({ el: '#app', data: { searchTerm: '', searchResults: [] } }); </script>
隨著用戶輸入搜索詞,我們需要改變“searchResults”變量,以便顯示匹配的搜索項。我們可以利用 Vue 的計算屬性來實現這一點。計算屬性是基于其它變量的值來計算結果的屬性,我們可以在計算屬性中使用關鍵字“get”和“set”:
<script> var app = new Vue({ el: '#app', data: { searchTerm: '', searchResults: [] }, computed: { filteredResults: function () { var searchTerm = this.searchTerm.toLowerCase(); return this.items.filter(function (result) { return result.toLowerCase().indexOf(searchTerm) !== -1; }); } } }); </script>
最后一步是更新列表,以顯示搜索結果。我們將使用“v-for”指令遍歷計算屬性的結果,用于顯示搜索結果:
<ul> <li v-for="result in filteredResults">{{ result }}</li> </ul>
現在,我們已經實現了一個簡單的搜索框,可以實時顯示匹配的搜索結果。這個實例只使用一小部分 Vue 功能,Vue 還有很多其他功能,可以用于更復雜的應用程序。
下一篇vue ready