当前位置: 首页 > news >正文

1-4微信小程序基础

模板配置

🌮🌮目标

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

数据绑定的基本原则

  • 在data中定义数据
  • 在WXML中使用数据
  • 在页面对应的.js文件中,把数据定义到data对象中即可
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),}
})

使用

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

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

<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,可以为组件绑定触摸事件,
<button type="" bindtap="btnclick">按钮</button>
  • 在js文件中
Page({btnclick(e){console.log(e)}
})

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

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

小程序中事件传参

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

bindinput语法

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

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

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

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

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

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

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

总结

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 苹果系统(MacOS)中的Finder如何方便展现根目录
  • 多线程篇(其它容器- CopyOnWriteArrayList)(持续更新迭代)
  • 嵌入式鸿蒙系统开发语言与开发方法分析
  • 什么是机器学习力场
  • 【H2O2|全栈】关于CSS(2)CSS基础(二)
  • 关于新版本 tidb dashboard API 调用说明
  • 推荐这款神器:Perplexity
  • mysql笔记9(子查询)
  • 使用LangChain集成ChatGPT插件:以Klarna购物API为例
  • 数据结构:堆排序
  • Java Jdbc 链接db2数据库示例
  • yolo自动化项目实例解析(二)ui页面整理
  • Vue: watch5种监听情况
  • WPF利用Path自定义画头部导航条(TOP)样式
  • Python基础语法(1)上
  • Google 是如何开发 Web 框架的
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【5+】跨webview多页面 触发事件(二)
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 10个最佳ES6特性 ES7与ES8的特性
  • 230. Kth Smallest Element in a BST
  • Java 23种设计模式 之单例模式 7种实现方式
  • JS函数式编程 数组部分风格 ES6版
  • SwizzleMethod 黑魔法
  • Vue 2.3、2.4 知识点小结
  • 关于springcloud Gateway中的限流
  • 聚类分析——Kmeans
  • 理解在java “”i=i++;”所发生的事情
  • 力扣(LeetCode)21
  • 在Mac OS X上安装 Ruby运行环境
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • No resource identifier found for attribute,RxJava之zip操作符
  • 正则表达式-基础知识Review
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (0)Nginx 功能特性
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (42)STM32——LCD显示屏实验笔记
  • (9)STL算法之逆转旋转
  • (Git) gitignore基础使用
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (回溯) LeetCode 40. 组合总和II
  • (汇总)os模块以及shutil模块对文件的操作
  • (力扣题库)跳跃游戏II(c++)
  • (南京观海微电子)——I3C协议介绍
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .Net 6.0--通用帮助类--FileHelper
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET Framework 3.5安装教程
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET下ASPX编程的几个小问题