微信小程序开发2

wxml语法
1.数据绑定的基本原则:
在data中定义数据:在页面对应的js文件中把数据定义到data对象即可

			  在wxml中使用数据:把data数据绑定到页面渲染,使用mustache语法(双大括号)将变量包起来即可

mustache语法的应用场景
绑定内容
绑定属性
运算(三元运算 算术运算)

Page({
  /**
   * 页面的初始数据
   */
  data: {
    info:'hello world',
    randNumber:Math.random()*10,
    random:Math.random().toFixed(2),
    imgSrc:'https://i0.hdslb.com/bfs/archive/956de2627e2cc1a9da53ea1d8762cea33e8ea6e5.png@3840w_360h_1c_90q.webp'
  },
<!-- 绑定属性 -->
<image src="{{imgSrc}}" mode="widthFix"></image>
<!-- 绑定内容 -->
<view>{{info}}</view>
<!-- 三元运算 -->
<view>{{randNumber>=5? '数字等于大于5':'数字小于等于5'}}</view>
<!-- 算术运算 -->
<view>{{random*100}}</view>

2.事件绑定
事件是指渲染层到逻辑层的通讯方式,通过事件可以将用户在渲染层产生的行为反馈到逻辑层进行业务的处理
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<!-- 事件绑定 -->
<button type="primary" bindtap="btnTap">按钮</button>
  // 定义按钮的事件处理函数
  btnTap(e){
    console.log(e)
  },

通过调用this.setData(dataObject)方法给页面data数据重新赋值

<button type="primary" bindtap="countadd">按钮</button>
  countadd(){
   this.setData({
     count:this.data.count+1
     
   })
  },

事件传参
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<button type="primary" bindtap="btnTap2" data-info="{{2}}" >按钮</button>
btnTap2(e){
   this.setData({
     count:this.data.count+e.target.dataset.info
     
   })
  }, 

bindinput语法格式
在小程序中,通过inout事件来响应文本框的输入事件
通过bindinput为文本框绑定输入事件

<input bindinput="inputTap"></input>

在页面的.js文件中定义事件的处理函数

inputTap(e){
    console.log(e.detail.value)
//e.detail.value变换后文本框最新的值
  },

实现文本框和data之间数据同步
在这里插入图片描述

Page({
  data: {
    msg:'您好'
  }, 
  <view>
<input value="{{msg}}" bindinput="inputHandler"></input>
</view>
input{
  border: 1px solid red;
 margin: 5px;
 padding: 5px;
 border-radius: 3px;
}
  inputHandler(e){
this.setData(
  {
    msg:e.detail.value
  }
)
  }

条件渲染
wx:if
在这里插入图片描述

Page({
  data: {type:1,
  }, 
<view wx:if="{{type===1}}"></view>
<view wx:elif="{{type===2}}"></view>
<view wx:else>保密</view>

结合block使用wx-if,可以避免渲染一些不必要的结点
在这里插入图片描述

<block wx:if="{{false}}">
<!-- 可以同时控制;两个模块的出现和隐藏且不渲染出来 -->
  <view ></view>
<view ></view>
</block>

hidden
在小程序中直接使用hidden="{{condition}}"控制元素显示和隐藏

<view hidden="{{flag}}">条件为true则隐藏,false则显示</view>

在这里插入图片描述
wx:for
通过wx:for可以根据指定数组循环渲染重复组件结构

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值