亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序傳值(傳遞數(shù)據(jù))的一些方法匯總

 更新時(shí)間:2023年06月07日 14:55:53   作者:牙膏不好吃  
在微信小程序的開發(fā)中,我們會(huì)經(jīng)常遇到頁面間數(shù)據(jù)傳遞或者相互影響的問題,下面這篇文章主要給大家介紹了關(guān)于微信小程序傳值(傳遞數(shù)據(jù))的一些方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

URL參數(shù)傳遞:可以通過URL參數(shù)的方式將數(shù)據(jù)傳遞給小程序頁面。

Storage存儲(chǔ):可以通過Storage API將數(shù)據(jù)存儲(chǔ)在本地,然后在小程序頁面中讀取。

全局變量:可以將數(shù)據(jù)存儲(chǔ)在小程序的全局變量中,然后在小程序頁面中讀取。

數(shù)據(jù)綁定:可以通過數(shù)據(jù)綁定的方式將數(shù)據(jù)傳遞給小程序頁面。

自定義事件:可以通過自定義事件的方式將數(shù)據(jù)傳遞給小程序頁面。

WebSocket:可以通過WebSocket協(xié)議將數(shù)據(jù)傳遞給小程序頁面。

數(shù)據(jù)庫:可以通過小程序提供的數(shù)據(jù)庫API將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,然后在小程序頁面中讀取。

1、使用全局變量傳遞數(shù)據(jù)

利用app.js 中的 globalData 將數(shù)據(jù)存儲(chǔ)為全局變量,在需要使用的頁面通過getApp().globalData獲取數(shù)據(jù)

app.js

App({
        globalData:{
            data: { name: 'demo' }
        }
    })

使用組件

let app = getApp()
app.globalData.data

2、使用本地存儲(chǔ)數(shù)據(jù)傳遞

使用小程序提供緩存

同步緩存:wx.setStorageSync 與 wx.getStorageSync

異步緩存:wx.setStorage 與 wx.getStorage

移除本地緩存:wx.removeStorageSync(同步)、wx.removeStorage(異步)

// 將數(shù)據(jù)存儲(chǔ)在本地緩存中指定的 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 傳送到當(dāng)前頁面的數(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": "父組件的導(dǎo)航標(biāo)題"
    }

子組件 child

child.wxml

<view>
        父組件傳遞過來的name:{{name}}
    </view>

child.js

 Component({
    // 接受父組件傳遞過來的屬性
    properties:{
        name:String //簡(jiǎn)化的定義方式
        //name:{
            //type:String,
            //value:''
        //}
    },
    // 私有數(shù)據(jù),可用于模板渲染
    data:{},
    // 組件生命周期聲明對(duì)象
    lifetime:{
    },
    // 組件所在頁面的生命周期聲明對(duì)象
    pageLifetimes:{
    },
    // 事件響應(yīng)函數(shù)和任意的自定義方法
    methods:{}
})

總結(jié)

到此這篇關(guān)于微信小程序傳值(傳遞數(shù)據(jù))的一些方法匯總的文章就介紹到這了,更多相關(guān)微信小程序傳值 傳遞數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論