小程序视图渲染数据和部分事件的绑定

今天依旧使用这个目录进行教学

 数据的渲染 

 在 index.js的 page中定义一个data对象结构是这样的

Page({
  data:{
    name:'张三'
  }
})

在index.wxml 中 利用模板语法进行渲染 

 <view >
 {{name}}
 </view>

注意这个模板里边不能使用js的方法

要循环渲染数组,如 在data中定义了以下数组

    list:[
      {name:'小米',age:18,sex:'男'},
      {name:'小埋',age:20,sex:'女'},
      {name:'小光',age:16,sex:'女'},
      {name:'大平',age:26,sex:'男'},
    ]

   在 index.wxml中进行渲染 

 <view wx:for="{{list}}">
 姓名{{item.name}}
 年龄{{item.age}}
 性别{{item.sex}}
 </view>

 语法和vue的循环很像,就是叫法不同

事件的分类

微信小程序的事件分为冒泡事件和非冒泡事件

冒泡事件

touchstart:手指触摸动作开始

touchmove:手指触摸后移动

touchcancel:手指触摸动作被打断,如来电提醒,弹窗

touchend:手指触摸动作结束

tap:手指触摸后马上离开

longpress:手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发

longtap:手指触摸后,超过350ms再离开(推荐使用longpress事件代替)

transitionend:会在 WXSS transition 或 wx.createAnimation 动画结束后触发

animationstart:会在一个 WXSS animation 动画开始时触发

animationiteration:会在一个 WXSS animation 一次迭代结束时触发

animationend:会在一个 WXSS animation 动画完成时触发

touchforcechange:在支持 3D Touch 的 iPhone 设备,重按时会触发

除上表之外的其他组件自定义事件如无特殊声明都是非冒泡事件,如 form 的submit事件,input 的input事件,scroll-view 的scroll事件

 bind:tap(bindtap) 事件

bind:tap属于点击事件 

 先定义函数

  changenum(e){
      console.log(e);
  },

  对函数进行 bind:top事件绑定  点击可以触发该事件

 <view bind:tap="changenum">
     触发事件
 </view>

 尝试进行事件的传参

 <view bind:tap="changenum(123)">
     触发事件
 </view>

发现报错,看来这种传参方式在微信小程序中是行不通的,接下来介绍微信小程序的传参方式

 <view bind:tap="changenum" data-name="李四">
     触发事件
 </view>

    打印e时,发现target下的dataset 可以接受到其参数,可以正常传递参数 

catchtap

  将前面代码中的事件改为 catchtap,发现可以正常执行,这两个的区别就是一个是可以进行事件冒泡的一个是不会进行事件冒泡的 

修改数据 

  changenum(e){
      console.log(this.data.name);
  },

 点击后发现可以对其进行获取 开始·尝试修改数据  

  changenum(e){
      console.log(this.data.name);
      this.data.name='李四'
      console.log(this.data.name);
  },

点击发现数据已经修改,但是视图没有更新,按照vue的说法就是失去了响应式 不要担心有一个微信小程序官方提供的属性 setDate 可完成两个功能 其一是可以 更新数据 其二是可以进行数据的更新

  changenum(e){
      console.log(this.data.name);
      this.data.name='李四'
      this.setData({
        name:this.data.name
      })
  },

成功进行数据的更新

本文章关于微信小程序事件的资料来自

https://www.cnblogs.com/zwh0910/p/13983526.html

相关推荐

  1. 【微信程序 事件

    2024-06-12 09:04:01       6 阅读
  2. layuiupload动态数据事件方法非动态渲染

    2024-06-12 09:04:01       39 阅读
  3. 程序数据驱动vue双向有何异同

    2024-06-12 09:04:01       11 阅读
  4. 微信程序第六次课(模块化事件

    2024-06-12 09:04:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 09:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 09:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 09:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 09:04:01       18 阅读

热门阅读

  1. 【深度学习】【NLP】Bert理论,代码

    2024-06-12 09:04:01       6 阅读
  2. Python中实现高效缓存机制的探索与实践

    2024-06-12 09:04:01       9 阅读
  3. Web前端教程165:深入探索Web前端技术的奥秘

    2024-06-12 09:04:01       9 阅读
  4. Unity3D MMORPG背包系统数据获取与通讯详解

    2024-06-12 09:04:01       8 阅读
  5. 设计模式之外观模式

    2024-06-12 09:04:01       10 阅读
  6. pyautogui 等待元素出现的方法

    2024-06-12 09:04:01       10 阅读
  7. app-ios 内嵌h5的缓存问题

    2024-06-12 09:04:01       5 阅读