zoukankan      html  css  js  c++  java
  • 微信小程序之this.setData

    setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。

    注意:

    1. 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。
    2. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

    setData() 参数格式

    接受一个对象,以 key,value 的形式表示将 this.data 中的 key 对应的值改变成 value。

    其中 key 可以非常灵活,以数据路径的形式给出,如 array[2].messagea.b.c.d,并且不需要在 this.data 中预先定义。

    Page({
      data: {
        text: 'init data',
        array: [{text: 'init data'}],
        object: {
          text: 'init data'
        }
      },
      changeText: function() {
        // this.data.text = 'changed data'  // bad, it can not work
        this.setData({
          text: 'changed data'
        })
      }

    也可以保持不变直接传到视图层:

    Page({
      data: {
        list:[
          {
            id:'view',
            name:'视图容器',
            open:false,
            pages:['view','scroll-view','swiper']
          },{
            id:'content',
            name:'基础内容',
            open:false,
            pages:['text','icon','progress']
          },{
            id:'form',
            name:'表单组件',
            open:false,
            pages:['button','checkbox','form','input','label','picker','radio','slider','switch','textarea']
          },{
            id:'nav',
            name:'导航',
            open:false,
            pages:['navigator']
          },{
            id:'media',
            name:'媒体组件',
            open:false,
            pages:['image','audio','vodeo']
          },{
            id:'map',
            name:'地图',
            pages:['map']
          },{
            id:'canvas',
            name:'画布',
            pages:['canvas']
          }
        ]
      },
      kindToggle:function(e){
        var id = e.currentTarget.id,list = this.data.list;
        for(var i =0,len = list.length;i<len;++i){
          if(list[i].id ==id){
            list[i].open = !list[i].open
          }else{
            list[i].open = false
          }
        }
        this.setData({
          list:list
        })
      }
     
    })
  • 相关阅读:
    Python+requests+unittest+excel实现接口自动化测试框架
    Python+Selenium--异常截图
    如何利用Jmeter做代理录制脚本
    linux命令2
    python+selenium定位日期方法
    利用 python requests完成接口文件上传
    Python+Selenium--自动生成HTML测试报告
    代理服务器之趣谈工作原理
    python从入门到实践课后习题第九章
    python从入门到实践课后习题第十章
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/8027340.html
Copyright © 2011-2022 走看看