精华内容
下载资源
问答
  • setData

    2020-12-09 11:23:04
    <div><p>Ref: ...<p>We should implement <code>setData</code> to minimize breaking changes from v1 -> v2.</p><p>该提问来源于开源项目:vuejs/vue-test-utils-next</p></div>
  • 微信小程序————setData()方法的使用和注意事项

    万次阅读 多人点赞 2018-08-10 16:43:37
    微信小程序setData()使用: Page.prototype.setData(Object data, Function callback) setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。 参数说明: Object...

    微信小程序setData()使用:


    ##Page.prototype.setData(Object data, Function callback)
    setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。
    参数说明:
    这里写图片描述

    Object 以 key: value 的形式表示,将 this.data 中的 key 对应的值改变成 value。

    其中 key 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 array[2].message,a.b.c.d,并且不需要在 this.data 中预先定义。

    注意:

    1. 直接修改this.data,而不调用this.setData(),是无法改变当前页面的状态的,会导致数据不一致
    2. 仅支持可以JSON化的数据
    3. 单次设置的数据不能超过1024KB,尽量避免一次设置过多的数据
    4. 不要把data中的任何一项的value设为undefined,否则这一项将不能被设置,可能会有潜在的问题

    代码示例:

    Page({
    
      /**
       * 页面的初始数据
       */
     data: {
        value:"初始值"    //定义一个变量value,赋值为:“初始化”
      
      },
       /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
      
      }
      })
    
    

    在页面中显示:

    这里写图片描述

    在onLoad()函数中调用setData()

      onReady: function () {
        this.setData({
          value:"调用setData()修改后的值"
        })
      
      },
    

    再次运行:
    这里写图片描述


    ##在wx:request()中使用
    代码:

    wx:wx.request({
          url: 'http://127.0.0.1:7011/ibeacon/mobile.asmx/getRequest',
          data:{userid:this.data.username},
          header: {
            'content-type': 'application/json'
          },
          method: 'POST',
          dataType: 'json',
          
          success: function(res) {
    
            console.log(JSON.parse(res.data.d));  
            var value = JSON.parse(res.data.d);
            this.setData({
              postData:value
            })
    
          },
          fail: function(res) {},
          complete: function(res) {},
        });
    

    ####这里会出现一个问题:直接在wx:request()的success回调函数中使用this.setData()会报这样一个错误:
    这里写图片描述

    因为这里的this是相对于wx:request()的当前对象,我们可以这样解决:因为这里的wx:rewuest()是在页面加载时调用,所以我们可以在onLoad()中定义一个变量that ,将this赋值给that,那么此时的that代表相对于onLoad()的当前对象,然后在success回调函数中直接使用that.setData()即可。

    完整代码如下:

    //js代码
    onLoad: function (options) {
        console.log(options);
        var that = this;
        var userid = options.userid;
        that.setData({
          username: userid
        })
        // this.data.username = JSON.stringify(options);
        console.log(this.data.username);
    
        wx:wx.request({
          url: 'http://180.169.225.27:7011/ibeacon/mobile.asmx/getRequest',
          data:{userid:this.data.username},
          header: {
            'content-type': 'application/json'
          },
          method: 'POST',
          dataType: 'json',
          
          success: function(res) {
    
            console.log(JSON.parse(res.data.d));  
            var value = JSON.parse(res.data.d);
            that.setData({
              postData:value
            })
    
          },
          fail: function(res) {},
          complete: function(res) {},
        });
        
        
      }
    
    //wxml代码
    <view wx:for="{{postData}}">posno:{{item.posno}},TradeTime:{{item.TradeTime}}</view>
    
    

    正常获取到服务器返回的数据:
    这里写图片描述


    ##还有一个需要注意到地方就是:
    ###如果在onReady()函数中调用setData()方法,那么通过这个方法设置的值只能刷新一次,若需要再次刷新,需要清除缓存。

    参考资料:微信公众平台

    展开全文
  • Page.prototype.setData setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。 setData() 参数格式 setData(data, callback); // data需为可 JSON 化的数据,callback在 ...
  • 最近在使用微信小程序的setData时,遇到了以下问题。如下: 官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的:   Page({ data: { array: [{text: 'init data'}], }, changeItemInArray: ...
  • 方法:利用setData将wxml中的图标路径改变,但是写进wx.showModal方法中系统报错如标题所示的错误 代码(修改后的):只是先解决弹窗没写其他操作 js deleteArticle(e){ var id = e.currentTarget.dataset._id var...
    今天也是写毕设的一天~
    需求:点击图标弹出响应的弹窗并且改变图标
    预期效果:

    在这里插入图片描述

    点击之后:图标颜色改变,点击确定后,图标再变回之前黑色的样式

    在这里插入图片描述

    方法:利用setData将wxml中的图标路径改变,但是写进wx.showModal方法中系统报错如标题所示的错误
    代码(修改后的):只是先解决弹窗没写其他操作

    js

    deleteArticle(e){
        var id = e.currentTarget.dataset._id
        var that = this
        this.setData({
          delete: '../../icons/delete_fill.png'
        })
        //1.判断是否有权限删除笔记
        //2.有权限删除笔记出现弹窗提示
        wx.showModal({
          title: '提示',
          content: '确定要删除吗?',
          success(res){
            if(res.confirm){
              console.log("用户点击确认")
              //删除操作
            }else if(res.cancel){
              console.log("用户点击取消")
            }
            //点击确定或者删除后恢复图标
            that.setData({
              delete: '../../icons/delete.png'
            })
          }
    
          //3.没有权限,则弹出提示没有权限删除笔记
        
        })
    
      },
    

    在wx.showModal方法中写setData时,应该先定义一个that变量,将this赋值给that,那么此时的that代表相对于delete()的当前对象,然后在success回调函数中直接使用that.setData()即可。
    之前我是直接使用this.setData,这里的this相当于wx.showModal的对象

    以上就是今天的内容啦~前端还是初学者,有什么不对的地方请大家指正!

    展开全文
  • <div><p>Subsequent setData calls seem to overwrite eachother's callbacks: <pre><code>js const Deepstream = require('deepstream.io'); const deepstream = require('deepstream.io-...
  • 为什么不能频繁 setData 先科普下 setData 做的事情: 在数据传输时,逻辑层会执行一次 JSON.stringify 来去除掉 setData 数据中不可传输的部分,之后将数据发送给视图层。同时,逻辑层还会将 setData 所设置的...
  • this.setData()与this.setData({})
    const data = {value: 1}
    
    this.setData(data) 是给 data的value设值 相当于 this.setData({value: 1})
    
    this.setData({data}) 是给 data的data设值 相当于 this.setData({data: {value: 1}})

     

    展开全文
  • <div><p>When updating the plot data, the legend item should also be dynamically updated in the setData function if the user decides to change the color, symbol, name of the updated data. <p><code>...
  • dataProvider.setData(data, cacheKey: cacheKey) </code></pre> <p>I expect <code>collectionDataProviderHasUpdatedData</code> to be called, but it isn't. How else should I get the <code>...
  • kotlin下setData出错

    2021-01-11 05:39:39
    st_table_instrument.setData(instrumentTypeList) 这样会报错 默认smartTable<*>转换smartTable<我的类型>转换出错</p><p>该提问来源于开源项目:huangyanbin/smartTable</p></div>
  • 微信小程序 setData的使用方法详解 最近在使用微信小程序的setData时,遇到了以下问题。如下: 官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的: Page({ data: { array: [{text: 'init ...
  • setData优化过程

    2019-04-25 10:25:00
    在做一个小球跟随手指移动的效果时候,由于在touchmove事件中频繁调用setData改变小球的位移实现,在开发工具和IOS平台还算流畅,但在安卓机下手机预览出现极其卡顿的交互,简直是不堪入目。 问题根源: setData每...

    https://blog.csdn.net/rolan1993/article/details/88106343

     

    在做一个小球跟随手指移动的效果时候,由于在touchmove事件中频繁调用setData改变小球的位移实现,在开发工具和IOS平台还算流畅,但在安卓机下手机预览出现极其卡顿的交互,简直是不堪入目。

    问题根源:

    setData每秒调用高达50左右造成的。 引用官方的话就是:

    a、touchmove 事件从视图层(Webview)抛到逻辑层(App Service)

    b、逻辑层(App Service)处理 touchmove 事件,再通过 setData 来改变 组件 的位置

    一次 touchmove 的响应需要经过 2 次的逻辑层和渲染层的通信以及一次渲染,通信的耗时比较大。此外 setData 渲染也会阻塞其它脚本执行,导致了整个用户交互的动画过程会有延迟。

    如何优化?

    1.使用movable-view

    movable-view + movable-area可实现移动效果很流畅,但是也有局限性不能满足复杂的需求,例如现在需求需要是两个小球使用两个手指能同时控制小球移动,则无法实现,还需要配合setData来实现,使用了setData必然会出现卡顿

    2.推荐方案:抛弃setData,使用wxs来写交互

    转载于:https://www.cnblogs.com/dianzan/p/10766773.html

    展开全文
  • setData 没得作用

    2021-01-11 04:20:37
    <div><p>最开始的table 数据源List 没得子元素...table.setData(staticModels)/table.addData(这俩种方式都不起作用) table.notifyDataChanged();</p><p>该提问来源于开源项目:huangyanbin/smartTable</p></div>
  • setData运行时报错

    2020-12-30 06:33:18
    <div><p>在onload中使用setData给data中多层级数据对象的内部属性赋值时,会出现Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option...
  • this.setData({ a: 1, inited: true }); }, test() { this.setData({ a: 1, inited: true }); }, } }); // test test('test', () => { // .... const instance = comp.instance; comp....
  • 重载qsqlquerymodel的setdata函数如何实现qsqltablemodel的setdata的效果,即无论修改qtableview哪列哪行的值都可以对应修改数据表里的值,即到底是怎么判断出qtableview当前选中的格子的字段值是什么。
  • setData动态赋值问题

    2020-12-08 18:59:55
    onLoad 给图片url通过setData赋值了(调试器可看到data已经变化) <p>2,但是还是显示我data里面赋值之前的url图片。请问是什么黑科技。</p><p>该提问来源于开源项目:jasondu/wxa-plugin-...
  • 小程序setData

    千次阅读 2017-07-17 21:40:22
    "resetdata":function(){/...this.setData({//this.setdata很重要  "changdata":"哈哈哈哈哈setData调用后文字"//重新设置data里面的"changdata"的值 }) }, bindtap=
  • 今天写案例的时候,在onLoad函数中用this.setData重置了一个数值,然后就一直报错,结果如下: 问题的原因: 无法找到setData这个定义,因为setData中是onLoad函数中的方法中的子节点, 无法使用this 解决方案 这个...
  • setData for Checkbox Group

    2020-12-08 18:42:49
    <p>What is the correct json for setData and include text in the other option for a Checkbox Group <h3>Environment Details: <ul><li>formBuilder Version: V 2.5</li><li>Browser: Chrome and Firefox</li>...
  • 小程序SetData()方法使用
  • 微信小程序setData()方法的详解以及对数组/json操作

    万次阅读 多人点赞 2018-03-20 14:02:30
    此篇文章是本人对setData方法的一些理解,是查阅文档和查找一些其他资料综述的,有所不足希望指正! 直接进入正题! 一、setData()方法: 1、参数接受一个对象,以key,value的形式表示; 2、参数和变量名称...
  • this.setData估计是小程序中最经常用到的一个方法,但是要注意其实他是有限制的,忽略这些限制的话,会导致数据无法更新 setData的反模式: -- 短时间频繁进行setData操作 --页面进入后台后依然进行setData操作 -- ...
  • that.setdata is not a function中的setData,D要为大写 应该是that.setData is not a function 发现错误之后真是哭笑不得,这么简单的错误而导致程序没有响应,所以敲代码时一定要严谨仔细认真
  • 微信小程序setdata方法

    千次阅读 2020-11-02 21:11:24
    微信小程序setdata方法 微信小程序中有时候需要从其他位置获取数据在前端调用 一般会用到小程序中封装好的setdata方法: /** `setData` 函数用于将数据从逻辑层发送到视图层 *(异步),同时改变对应的 `this....
  • <div><p>Can we have a <code>setData</code> method so we can use our own API libraries if needed?</p><p>该提问来源于开源项目:matfish2/vue-tables-2</p></div>
  • 关于setData 的报错

    2020-04-28 19:34:48
    今天在开发微信小程序的时候碰到一个问题,关于setdata()。 我在发送请求的时候。无法调用data里面的数据 // message是一个空对象 data:{ message:{} }; 而我之后用set data使获取到的值绑定到了message里面 /...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,239
精华内容 3,295
关键字:

setdata