场景一,单页面传参,利用url
    首先在.wxml文件中找到点击按钮并绑定相应方法,接着通过data-xxx指定所传参数的名字
    例如传参数名为:category。

    1. <view class="movie-header">
    2. <text class="header-title">{{categoryTitle}}</text>
    3. <text class="header-more" catchtap="onMore" data-category="{{categoryTitle}}">更多 ></text>
    4. </view>

    接着在.js文件中编写相应的方法,在url中带上相应参数即可,在url中问号之后的部分都是参数。
    在这里我们使用的路由函数是wx.navigateTo。但是如果所要跳转的页面带有tabBar,那么路由函数必须使用wx.switchTab。

    1. onMore: function(event){
    2. var category = event.currentTarget.dataset.category;
    3. wx.navigateTo({
    4. url: 'page/more-movie/more-movie?category=' + category,
    5. })
    6. }

    跳转到新页面后,只需在onLoad函数中获取所传参数。

    1. onLoad: function (options) {
    2. var category = options.category;
    3. }

    场景二:利用缓存
    微信小程序提供的缓存方法有同步和异步之分,一般情况下我们推荐使用同步方法,如下代码所示,我们获取了用户信息并将昵称保存在缓存中。

    1. onLoad: function (options) {
    2. wx.getUserInfo({
    3. success: function (res) {
    4. wx.setStorageSync("userName", res.userInfo.nickName);
    5. }
    6. })
    7. }

    获取缓存的方法很简单,在任意需要使用缓存数据的页面.js文件中加上如下代码即可。这里我们将昵称保存为userName,因此当需要使用时只需wx.getStorageSync(“userName”)即可。

    1. var userName = wx.getStorageSync("userName");

    场景三:利用全局变量
    首先,我们在app.js中定义一个全局变量g_isPlayingMusic来保存播放状态,默认为false。

    1. App({
    2. onLaunch: function () {
    3. },
    4. globalData: {
    5. g_isPlayingMusic: false
    6. }
    7. })

    在需要获取该变量的页面.js文件中按照如下代码即可获取。

    1. var app = getApp();
    2. Page({
    3. data: {
    4. isPlayingMusic: app.globalData.g_isPlayingMusic
    5. }
    6. })

    获取之后进行修改也很简单,只需赋值即可。

    1. app.globalData.g_isPlayingMusic = true;