1-4微信小程序基础

模板配置

🌮🌮目标

  • 1.能够使用WXML模板语法渲染页面结构
  • 2.能够使用WXSS样式渲染标签样式
  • 3.能够使用app.json对小程序进行全局配置
  • 4.能够使用page.json对小程序页面进行个性化配置
  • 5.如何发起网络数据请求

数据绑定的基本原则

  • 在data中定义数据
  • 在WXML中使用数据
  • 在页面对应的.js文件中,把数据定义到data对象中即可
javascript 复制代码
Page({
  /**
   * 页面的初始数据
   */
   data:{
     info:'data',
 imgSrc:'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
     msgList:[
       {
         msg:'我是提示信息' 
       } 
     ],
     randomNum:Math.random()*10, //生成10以内的随机数
     randomFixed:Math.random().toFixed(2),
   }
})

使用

  • 绑定内容
  • 绑定属性
  • 运算(三元运算、算术运算等)

在对应的页面中,使用双大括号语法进行渲染, 动态绑定内容

html 复制代码
<view>{{info}}</view>
<view>
  <image src="{{imgSrc}}" alt=""/>
</view>
<view>
    {{randomNum >= 5 ? '大于5' :'小于5'}}
</view>
<view>{{randomFixed}}</view>

事件

  • 渲染层到逻辑层的通信方式。可以将用户在渲染层产生的行为,反馈到逻辑层进行业务处理。
  • 常用的事件
  • 注意:绑定方式有两种。
  • 事件对象的属性列表
  • target和currentTarget事件
  • target:是触发该事件的源头组件
  • currentTarget:是当前事件所绑定的组件

bindtap的语法格式

  • 在小程序中,不存在HTML中的onclick鼠标点击事件,而是通过tap事件来响应用户的触摸行为。
  • 通过bindtap,可以为组件绑定触摸事件,
html 复制代码
<button type="" bindtap="btnclick">按钮</button>
  • 在js文件中
javascript 复制代码
Page({
	btnclick(e){
		 console.log(e)
	}
})

事件处理函数中为data中的数据赋值

  • 通过调用this.setData(dataObject)方法,给页面数据重新赋值,示例
  • 在js文件中
javascript 复制代码
Page({
	data:{
		count:0
	},
	btnclick(e){
		 console.log(e)
		 this.setData({
		 	count:this.data.count++ 
		 })
	}
})

小程序中事件传参

  • 比较特殊,不能在绑定事件的同时为事件处理函数传递参数,内部处理机制会把整个事件字符认为函数名字。
  • 处理方法:为组件提供data-自定义属性传参,其中-后面的名称就代表是参数的名字,后面的为{{值}}。示例
html 复制代码
<button bindtap="btnHandler" data-info="{{2}}">事件传参</button>
  • info会被解析为参数的名字
  • 数值2会被解析为参数的值

bindinput语法

  • 通过input事件来响应文本框的输入事件,示例
html 复制代码
<input bindinput="inputHandler" />
javascript 复制代码
inputHandler(e){
	//e.detail.value 是变化过后,文本框最新的值
	console.log(e.detail.value)
}

文本框和data之间的数据同步

  • 定义数据
  • 渲染结构
  • 美化样式
  • 绑定input事件处理函数修改data
html 复制代码
<input value="{{msg2}}" type="text"  bindinput="inputHandler"/>
javascript 复制代码
data:{
	msg2:'你好'
}
inputHandler(e){
	this.setData({
		 msg2:e.detail.value
	})
}

wx.if 使用 wx:if="{{condition}}" 来判断是否需要渲染,wx:elif和wx:else判断

html 复制代码
<view wx:if="{{type === 1}}">男</view>
<view wx:elif="{{type === 2}}">女</view>
<view wx:else>保密</view>

结合block标签使用wx:if条件渲染

  • 如果一次性控制多个组件的展示和隐藏,可以使用一个<block></block>标签将多个组件包起来,并在<block>标签上使用wx:if控制属性,示例
html 复制代码
<block wx:if="{{true}}">
<view>我是其中一个组件,是根据条件渲染出来的</view>
<view>我是其中一个组件</view>
</block>

总结

小程序的执行环境和pc端执行环境有所不同,需要注意一些写法规则的不同。

相关推荐
java1234_小锋12 小时前
【免费】基于Python的微信小程序网约车(打车,在线叫车,移动出行)系统(FastAPI+Vue3) 锋哥原创出品,必属精品
微信小程序·小程序·fastapi·网约车系统·在线叫车系统
2501_9160074717 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
凡科网小帆1 天前
2026小程序商城做的比较好的品牌,怎么选小程序商城品牌
小程序·小程序商城
2501_915909061 天前
iOS 证书创建与管理 类型限制 p12 密码与云备份实操
android·ios·小程序·https·uni-app·iphone·webview
拖孩2 天前
用 AI 重解千年观音灵签,做了一个微信小程序,每天摇一摇,命运给你回应
前端·后端·微信小程序
黄华SJ520it2 天前
顶俏洗衣液模式制度开发介绍:S2B2C社交分销+多门店核销系统全解析
前端·数据库·小程序·零售·系统开发
北极糊的狐2 天前
钉钉小程序报错data.formatTime is not a function是因为 axml 模板中不能直接调用 Page 内自定义方法!
java·小程序·钉钉
java1234_小锋2 天前
【免费】微信小程序网约车(打车,在线叫车,移动出行)系统(SpringBoot4+Vue3) 锋哥原创出品,必属精品
微信小程序·网约车·在线叫车·移动出行
show4333 天前
多格式导出怎么做?2026免费小程序TXT/SRT实践
开发语言·小程序·c#
AI砖家3 天前
AI编程—微信小程序开发规范
微信小程序·小程序·notepad++·ai编程