要寫支付寶小程序 之前寫微信小程序就不少坑纳猪。陋葡。。 支付寶 可能也不少救拉。
順便記錄下 支付寶與小程序 技術(shù)上的對比难审,與功能上的差異。
Page.prototype.$spliceData()
$spliceData同樣用于將數(shù)據(jù)從邏輯層發(fā)送到視圖層亿絮,但是相比于setData告喊,在處理長列表的時候,其具有更高的性能派昧。
$spliceData接受一個對象作為參數(shù)黔姜。
對象的鍵名key可以非常靈活,以數(shù)據(jù)路徑的形式給出斗锭,如 array[2].message地淀、a.b.c.d,并且不需要在this.data中預(yù)先定義岖是。
對象的value為一個數(shù)組(格式:[start, deleteCount, ...items]),數(shù)組的第一個元素為操作的起始位置帮毁,第二個元素為刪除的元素的個數(shù)实苞,剩余的元素均為插入的數(shù)據(jù)。對應(yīng)es5中數(shù)組的splice方法
<!-- page.axml -->
<view class="spliceData">
<view a:for="{{a.b}}" key="{{item}}" style="border:1px solid red">
{{item}}
</view>
</view>
// page.js
Page({
data: {
a: {
b: [1,2,3,4]
}
},
onLoad(){
this.$spliceData({ 'a.b': [1, 0, 5, 6] })
},
})
這個有點厲害 之前小程序這個setData 放數(shù)據(jù)過多 和 數(shù)據(jù)放置速度過于頻繁 都會影響性能(安卓性能 ios 還是厲害 并不會卡) 這個可能用于解決 setData的問題 直接將值賦值在頁面元素中 不通過data