在開發過程中,經常會遇到關鍵字查詢功能,比如酒店列表,搜索酒店名稱查詢對應酒店,如果將查詢交於後端實現的話,前端只需將關鍵字傳遞給後端接口,但是不斷的請求服務器定然不是可行之舉啊!
所以最優的解決方案就是隻訪問一次服務器拿到所有的酒店數據,然後在前端去做篩選。具體怎麼實現呢?
watch: {
hotel_name: function(newval, oldval) {
if (newval) {
var old_data = this.hotel_list;//所有酒店信息
this.hotels = [];//展示的數據
for (var key in old_data) {
if (String(old_data[key].name).toLowerCase().indexOf(newval) > -1) {
this.hotels.push(old_data[key])//篩選出的數據
}
}
return this.hotels;
}
this.hotels = this.hotel_list;//篩選信息爲空時
}
}
首先監聽搜索框中查詢的關鍵詞,然後遍歷所有酒店相關信息,進行篩選,最後展示數據。