收藏
回答

小程序客户端开发中函数的数据如何同步到Page的data中?

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 需求 Android Android P mi 8se 7.0

- 需求的场景描述(希望解决的问题)


大概的代码片段如下:我想在setLight函数中改变Page中的data 从而渲染到wxml中显示,要怎么做呢?


function setLight(myLight){

//怎么将myLight的值同步到Page中的data的light?????

}


Page({


/**

  * 页面的初始数据

  */

data: {

    light:0,

},

- 希望提供的能力

怎么将myLight的值同步到Page中的data的light?????

最后一次编辑于  02-28
回答关注问题邀请回答
收藏

1 个回答

  • 铭锋科技
    铭锋科技
    02-28

    wxml:

    <button bindtap='setLight' data-light='100'>设置light</button >


    <view>light:{{light}}</view>


    JS:


    Page({


    data: {

    light:0

    },

    setLight(e){

    this.setData({

    light:e.currentTarget.dataset.light

    })

    }

    })



    02-28
    赞同
    回复 5
    • void *
      void *
      02-28

      我的函数不能写在Page里 所以不能用this 还有其他方法吗? 因为这个函数会被Page里的其他函数多次调用,如果写在Page里就会报错。

      02-28
      回复
    • void *
      void *
      02-28回复void *

      如果写在Page里再调用 报错信息如下:

      VM3879:1 thirdScriptError

      addDeviceByImei is not defined; [Component] Event Listener Error @ dist/modal/index#(anonymous)

      ReferenceError: addDeviceByImei is not defined


      02-28
      回复
    • 铭锋科技
      铭锋科技
      02-28回复void *

      wxs https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/index.html?search-key=wxs

      02-28
      1
      回复
    • void *
      void *
      02-28回复铭锋科技

      非常感谢 没有更简单的方法给Page的data赋值了吗?

      02-28
      回复
    • void *
      void *
      03-02回复铭锋科技

      非常感谢 我使用了另外一种更简单的方法。如下:


      var pageThis = null;


      function setLight(myLight){

          pageThis.setData({

          light:myLight,

      });

      }


      Page({


      data: {

      light:0

      },

      //在onload函数中给pageThis赋值。

      onLoad:function(e){

          pageThis = this;

      }

      }

      })


      03-02
      回复