|
導讀微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一... 微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。 本篇文章給大家帶來的內容是關于微信小程序如何解決后臺返回大量多余數據的問題,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。臺接口返回一個數組,數組里面N多對象,每個對象里面幾十上百條數據,最好玩的是,我只需要每個對象里面的某兩個數據、、、、 類似這種: datas:[
{
id:1000,
name: "帥哥",
title: '...',
b: '...',
d: 0,
f:0,
....
},
{
id:1001,
name: "美女",
title: '...',
b: '...',
d: 0,
f:0,
....
},
...
]其實我只要id和name,找后臺解決、、、算了吧,奈何天生就是個儒生,溫文爾雅,打架是打不贏的,要是能打贏的就直接打吧,打完讓他們改! 答案是:有!一般情況下我們是在wxml中循環data,然后取出item.id和item.name,其他數據看起來和我們無關,但是查看官方文檔setData相關信息的時候有下面這一段話 小程序的視圖層目前使用 WebView 作為渲染載體,而邏輯層是由獨立的 JavascriptCore 作為運行環境。在架構上,WebView 和 JavascriptCore 都是獨立的模塊,并不具備數據直接共享的通道。當前,視圖層和邏輯層的數據傳輸,實際上通過兩邊提供的 evaluateJavascript 所實現。即用戶傳輸的數據,需要將其轉換為字符串形式傳遞,同時把轉換后的數據內容拼接成一份 JS 腳本,再通過執行 JS 腳本的形式傳遞到兩邊獨立環境。 [mw_shl_code=applescript,true] var tempData = []
for(var i = 0; i < datas.length; i++) {
var tempObj = {}
tempObj.id = datas[i].id
tempObj.name = datas[i].name
tempData.push(tempObj)
}
console.log(tempData)
[/mw_shl_code]或者使用高階函數map(): let tempDatas = datas.map(function(data){
return {
id: data.id,
name: data.name
}
})
console.log(tempDatas)此時我們再使用setData({})就能提高渲染效率了 同時再分享兩個setData技巧 1、有一個Object如下 obj:{a:"a",b:"b",c:"c"},此時已經渲染到頁面了,然后我們修改了obj,此時可以選擇: 1)平時的做法 let obj = this.data.objobj.b = "我是后來修改的"this.setData({ obj: obj})2)但是更優化的做法是 this.setData({ 'obj.b': "我是后來修改的"})不僅省了兩行代碼,同時還提高頁面渲染效率2、其實和1差不多,就是Object變成數組Array當我們要給數組的其中一個數據進行修改時,我們可以參照上面的方法 this.setData({ 'array[1]': "我是后來修改的"})當我們要給數組的多個數據進行修改時,我們會寫一個循環,然后修改array,此時是無法識別的,要寫成如下形式 for(var i = 0;i < 5;i++) {
this.setData({ [`array[${i}]`]:"我是后來修改的"
}) }相關推薦: 以上就是微信小程序如何解決后臺返回大量多余數據的問題的詳細內容,更多請關注php中文網其它相關文章! 小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。 |
溫馨提示:喜歡本站的話,請收藏一下本站!