在微信小程序開發中,有些頂級欄目會包含子欄目,如何實現通過子欄目之間相互切換來顯示對應的包含數據呢?下面的方法與思路的前提條件是后端服務是沒有使用云開發,是自建的php服務器后端來請求網絡數據,希望開發者清楚。在實現此方法中,請求自建服務器后端,要做2個sql查詢,一個是二級欄目的名稱與id查詢,另外一個是查詢對應二級欄目下的包含數據,如每條數據的id,標題,圖片,文本內容等。
如下圖:
圖中有7個子欄目,這7個子欄目是通過請求了服務器端數據庫的欄目表來實現的【即后端sql查詢與小程序發起請求獲取的欄目名稱與id】,如何給這7個子欄目做跳轉鏈接呢?一般是通過js點擊事件傳遞id來實現的,因為每個子欄目的id值是唯一的,所以可以給每個子欄目來傳遞id值作為參數標識當作鏈接,如url:'/pages/listsub/listsub?action=s1&where_id='+where_id,這里傳過來的id就是where_id
如上圖,是獲取id傳值的方法,當獲取到id后,傳遞給子欄目中的listsub.js中onLoad()函數,然后通過獲取來的id/where_id值來賦給請求的參數data,如:
wx.request({
url: url+'/list.php',
data: {
action: 'sub123',
where_id:where_id,
},
success:function(res){
that.setData({
serviceSubList: res.data,
})
}
}),
然后再發給后端服務器執行sql的語句【這里獲取到的where_id就是后端服務器中sql中的變量,sql可以根據獲取到的where_id來條件查詢,把查詢到的子欄目中包含的數據返回到小程序來執行,具體sql語句查詢可以根據需求來編寫】
上面的方法和思路可供開發者參考,主要的思路就是獲取子欄目的id做為每個子欄目鏈接跳轉的標識參數,同時,把獲取的子欄目id傳給子欄目中js文件中的onLoad()函數來作為后端服務器查詢的變量,后端服務器查詢到對應的數據再返回給小程序來執行渲染。
掃一掃 加微信咨詢