美文网首页
微信小程序的组件间三种传值方式

微信小程序的组件间三种传值方式

作者: 蓝醇 | 来源:发表于2019-05-14 22:12 被阅读0次

    第一种:全局传值

    // 步骤一:在全局app.js文件中定义数据
    App({
      globalData: {
        userInfo: null,
        userName: '全局变量传值',
      }
    })
    
    // 步骤二:获取应用实例,不然无法调用全局变量
    const app = getApp()
    
    // 步骤三:调用全局变量
    Page({
      data: {
      
      },
      onLoad: function (options) {
        console.log(app.globalData.userName);
      },
    })
    

    第二种:url传值

    // 步骤一:使用关键字bindtap绑定一个点击事件方法,data-index是传入一个值
    <image class="btn-detail" src='/images/btn_detail.png' bindtap='toDetail' data-index='{{index}}'></image>
    
    // 步骤二:在脚本文件中定义这个方法(方法并不是定义在一个methods集合中的)
    Page({
      data: {},
      onLoad: function () {},
      toDetail: function(e){
        // index代表的遍历对象的下标
        var index = e.currentTarget.dataset.index;
        var proList = this.data.proList;
        var title = proList[index].proName;
        wx.navigateTo({
          url: '/pages/detail/detail?title='+title,
        })
      }
    })
    
    // 步骤三:在detail组件的脚本文件中接收title这个传入过来的值
    Page({
      data: {},
      onLoad: function (options) {
        console.log(options.title);
      },
    })
    

    第三种:Storage传值

    // 步骤一:使用关键字bindtap绑定一个点击事件方法,data-index是传入一个值
    <image class="btn-detail" src='/images/btn_detail.png' bindtap='toDetail' data-index='{{index}}'></image>
    
    // 步骤二:在脚本文件中定义这个方法(方法并不是定义在一个methods集合中的)
    Page({
      data: {},
      onLoad: function () {},
      toDetail: function(e){
        var index = e.currentTarget.dataset.index;
        var proList = this.data.proList;
        var title = proList[index].proName;
        wx.setStorageSync('titleName', title);
        wx.navigateTo({
          url: '/pages/detail/detail',
        })
      }
    })
    
    // 步骤三:在detail组件的脚本文件中使用wx.getStorageSync接收titleName这个传入过来的值
    Page({
      data: {},
      onLoad: function (options) {
        var titlen = wx.getStorageSync('titleName');
        console.log(titlen);
      },
    })
    

    相关文章

      网友评论

          本文标题:微信小程序的组件间三种传值方式

          本文链接:https://www.haomeiwen.com/subject/hvjyaqtx.html