微信小程序傳值(傳遞數(shù)據(jù))的一些方法匯總
URL參數(shù)傳遞:可以通過URL參數(shù)的方式將數(shù)據(jù)傳遞給小程序頁面。
Storage存儲:可以通過Storage API將數(shù)據(jù)存儲在本地,然后在小程序頁面中讀取。
全局變量:可以將數(shù)據(jù)存儲在小程序的全局變量中,然后在小程序頁面中讀取。
數(shù)據(jù)綁定:可以通過數(shù)據(jù)綁定的方式將數(shù)據(jù)傳遞給小程序頁面。
自定義事件:可以通過自定義事件的方式將數(shù)據(jù)傳遞給小程序頁面。
WebSocket:可以通過WebSocket協(xié)議將數(shù)據(jù)傳遞給小程序頁面。
數(shù)據(jù)庫:可以通過小程序提供的數(shù)據(jù)庫API將數(shù)據(jù)存儲在數(shù)據(jù)庫中,然后在小程序頁面中讀取。
1、使用全局變量傳遞數(shù)據(jù)
利用app.js 中的 globalData 將數(shù)據(jù)存儲為全局變量,在需要使用的頁面通過getApp().globalData獲取數(shù)據(jù)
app.js
App({
globalData:{
data: { name: 'demo' }
}
})使用組件
let app = getApp() app.globalData.data
2、使用本地存儲數(shù)據(jù)傳遞
使用小程序提供緩存
同步緩存:wx.setStorageSync 與 wx.getStorageSync
異步緩存:wx.setStorage 與 wx.getStorage
移除本地緩存:wx.removeStorageSync(同步)、wx.removeStorage(異步)
// 將數(shù)據(jù)存儲在本地緩存中指定的 key 中
wx.setStorgaeSync('data','hello')
// 從本地緩存中同步獲取指定 key 的內(nèi)容
wx.getStorageSync('data')
// 從本地緩存中移除指定 key
wx.removeStorgae('data')3、使用路由傳遞數(shù)據(jù)
傳遞組件
wx.navigateTo({
url: 'test?id=1',
success: (res)=> {
// 通過 eventChannel 向被打開頁面?zhèn)魉蛿?shù)據(jù)
res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
}
})使用組件
Page({
onLoad: function(option){
console.log(option.query)
// 監(jiān)聽 acceptDataFromOpenerPage 事件,獲取上一頁面通過 eventChannel 傳送到當前頁面的數(shù)據(jù)
eventChannel.on('acceptDataFromOpenerPage', (data)=> {
console.log(data)
})
}
})4、父子組件使用selectComponent('#頁面id'),triggerEvent('方法名','值')
<view id='demo' bind:returnDate='handleReturnDate'><view>
Page({
handleData(data){
this.selectComponent("#demo").showModal(data);
}
// 子組件傳遞過來的值
handleReturnDate(data){
console.log(data)
}
})
Component({
methods:{
// 父組件傳遞過來的數(shù)據(jù)
showModal(data){
console.log(data)
},
submit(){
// 子組件傳遞數(shù)據(jù)給父組件
this.triggerEvent("returnDate", sportsGuidance);
}
}
})5、子組件通過properties接收:
父組件parent
parent.wxml
<view>
<child :name='jack'></child>
</view>
parent.json
{
"usingComponents": {
"child":"/child/child",
},
"navigationBarTitleText": "父組件的導航標題"
}子組件 child
child.wxml
<view>
父組件傳遞過來的name:{{name}}
</view>child.js
Component({
// 接受父組件傳遞過來的屬性
properties:{
name:String //簡化的定義方式
//name:{
//type:String,
//value:''
//}
},
// 私有數(shù)據(jù),可用于模板渲染
data:{},
// 組件生命周期聲明對象
lifetime:{
},
// 組件所在頁面的生命周期聲明對象
pageLifetimes:{
},
// 事件響應函數(shù)和任意的自定義方法
methods:{}
})總結
到此這篇關于微信小程序傳值(傳遞數(shù)據(jù))的一些方法匯總的文章就介紹到這了,更多相關微信小程序傳值 傳遞數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
js通過iframe加載外部網(wǎng)頁的實現(xiàn)代碼
這篇文章主要介紹了js通過iframe加載外部網(wǎng)頁的實現(xiàn)代碼,需要的朋友可以參考下2015-04-04
JS實現(xiàn)同一個網(wǎng)頁布局滑動門和TAB選項卡實例
這篇文章主要介紹了JS實現(xiàn)同一個網(wǎng)頁布局滑動門和TAB選項卡效果,通過簡單的自定義切換函數(shù)setTab實現(xiàn)頁面元素的遍歷及屬性切換的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
uniapp返回上一頁并實現(xiàn)刷新界面數(shù)據(jù)的完整代碼
從一個列表界面點擊新增按鈕,進入新增元素的界面,然后新增之后返回列表界面,并刷新列表界面,下面小編給大家分享uniapp返回上一頁,并實現(xiàn)刷新界面數(shù)據(jù)的代碼,感興趣的朋友跟隨小編一起看看吧2024-04-04
JavaScript實現(xiàn)煙花特效(面向?qū)ο?
這篇文章主要為大家詳細介紹了JavaScript使用面向?qū)ο缶幊虒崿F(xiàn)煙花特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Javascript中從學習bind到實現(xiàn)bind的過程
這篇文章主要介紹了Javascript中從學習bind到實現(xiàn)bind的過程,有興趣的朋友跟著學習下吧。2018-01-01

