微信小程序数组绑定使用案例(二)

一、数组事件绑定,事件传递数据

1.wxml

<text>
  姓名:{{name}}
</text>
<block wx:for="{{list}}">
  <button bind:tap="nameClick2" data-name="{{item}}">修改:{{item}}</button>
</block>

2.js

  /**
   * 页面的初始数据
   */
  data: {
    name: '张三',
    list: ['张三', '李四', '王五', '赵六'],
},
  //列表修改
  nameClick2(e) {
    var name = e.currentTarget.dataset.name;
    console.info(name);
    this.setData({
      'name': name
    });
  },

3.css 忽略

重点说明:

    //微信小程序  data 数据单项绑定,setData方法修改属性并且渲染页面展示

    // this.data.name='李四';

    this.setData({

      'name': '李四'

    });

显示效果:

二、微信小程序 setData 修改对象

1.wxml

<text>
  姓名:{{stu.name}},年龄:{{stu.age}}
</text>

<button bind:tap="ageClick">
  增加年龄
</button>

2.js

  //修改数据三
  ageClick() {
    var stu = this.data.stu;
    console.info(stu.age);

    //方案1,修改整个对象
    // stu.age=stu.age+1;
    // this.setData({
    //   stu:stu
    // });

    //方案2,根据路径修改变量
    this.setData({
      'stu.age': stu.age + 1
    });

  },

3.css忽略

重点解读,根据路径修改对象:

    //方案2,根据路径修改变量
    this.setData({
      'stu.age': stu.age + 1
    });

三、微信小程序,setData 修改 数组中的属性

1.wxml

<block wx:for="{{stulist}}">
  <view style="padding: 20px;border:1px solid bisque;">
    <text>
      姓名:{{item.name}},年龄:{{item.age}}
    </text>

    <button bind:tap="stulistClick" data-index="{{index}}">
      增加年龄
    </button>
  </view>
</block>

2.js


  //修改数据 ,数组中的对象的属性
  stulistClick(e) {
    var index = e.currentTarget.dataset.index;
    var stulist = this.data.stulist;

    //修改 方案1
    //var stu = stulist[index];
    // stu.age = stu.age + 1;
    // this.setData({
    //   ['stulist[' + index + ']']: stu
    // });

    //方案2
    this.setData({
      ['stulist[' + index + '].age']: stulist[index].age + 1
    });
  },

3.css 代码忽略

重点整理:

   //方案2

    this.setData({

      ['stulist[' + index + '].age']: stulist[index].age + 1

    });

更多:

微信小程序数组绑定使用案例(一)

input组件 type为nickname pc端获取不到这个绑定的值?

微信小程序触屏事件_上划下划事件

相关推荐

  1. 程序 事件

    2024-07-21 08:46:03       20 阅读
  2. 程序:input双向

    2024-07-21 08:46:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 08:46:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 08:46:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 08:46:03       45 阅读
  4. Python语言-面向对象

    2024-07-21 08:46:03       55 阅读

热门阅读

  1. Exploiting server-side parameter pollution in a query string

    2024-07-21 08:46:03       14 阅读
  2. Github 2024-07-20 开源项目日报Top10

    2024-07-21 08:46:03       16 阅读
  3. Linux内核(3)-内核模块结构详解

    2024-07-21 08:46:03       17 阅读
  4. 数据库对比

    2024-07-21 08:46:03       16 阅读
  5. SQL-正则表达式

    2024-07-21 08:46:03       15 阅读
  6. 03Spring底层架构核心概念解析

    2024-07-21 08:46:03       13 阅读
  7. Reminder related with work

    2024-07-21 08:46:03       17 阅读