小程式學習心得之資料繫結技巧
阿新 • • 發佈:2019-01-01
1 在template中可以通過物件的賦值形式來對template中的data傳值
<template is="starsTemplate" data="{{stars:stars, score: average}}" />
2 …的運用
<block wx:for="{{movies}}" wx:for-item="movie">
<template is="movieTemplate" data="{{...movie}}"/>
</block>
…movie代表具體哪一個物件
3 不同資料的相同引用
var readyData = {};
readyData[settedKey] = {
categoryTitle: categoryTitle,
movies: movies
}
this.setData(readyData);
<template is="movieListTemplate" data="{{...top250}}"/>
<template is="movieListTemplate" data="{{...comingSoon}}" />
4 資料傳遞的四種方式
一:url傳遞
通過在view設定data,在函式中呼叫event.currentTarget.dataset.category獲取要傳遞的引數附加到url中
在onLoad中通過options.category獲取
<view catchtap="onMoreTap" class="more" data-category="{{categoryTitle}}" >
onMoreTap: function (event) {
var category = event.currentTarget.dataset.category;
wx.navigateTo({
url: "more-movie/more-movie?category=" + category
})
}
onLoad: function (options) {
var category = options.category;
}
二:全域性變數
三:傳送事件接受事件,適合傳遞物件
四:快取
wx.getStorageSync取快取wx.setStorageSync設定快取this.setData傳入資料
wx.getStorageSync('posts_collected')
wx.setStorageSync('posts_collected', postsCollected);
this.setData({
collected: postCollected
})