微信小程序(基础语法)

news2025/2/26 22:47:13

文章目录

    • 基本组件
        • 视图容器
          • view
          • scroll-view
          • swiper和swiper-item
        • 基础内容组件
          • text
          • rich-text
        • 其他常用组件
          • button
          • image
          • navigator
    • 基本模板
        • 数据绑定
          • 插值表达式
        • 事件绑定
          • 常用事件
          • 在事件处理函数中为data的数据赋值
          • 事件传参
          • bindinput的使用
          • 小程序中的v-model
        • 条件渲染
          • wx:if
          • hidden
        • 列表渲染
    • wxss
        • rpx
          • 原理
          • 单位换算
        • 样式导入
        • 全局样式和局部样式
    • 全局和页面配置
      • 全局配置
        • window节点
          • window节点常用配置项
        • tabBar
          • tabBar的组成部分
          • tabBar节点的配置项
      • 页面配置
          • 常见配置项

基本组件

视图容器

view

当作div写即可

scroll-view
<scroll-view class="container" scroll-y>
  <view>A</view>
  <view>B</view>
  <view>C</view>
</scroll-view>

当内部元素大于外部容器container时,会自动开启滚动

swiper和swiper-item
<swiper>
  <swiper-item>
    <view class="item">A</view>
  </swiper-item>
  <swiper-item>
    <view class="item">B</view>
  </swiper-item>
  <swiper-item>
    <view class="item">C</view>
  </swiper-item>
</swiper>

swiper常见属性

请添加图片描述

基础内容组件

text

类似于span

通过text组件的selectable属性,实现长按选中文本内容的效果

rich-text

富文本组件

通过rich-text组件的nodes属性节点,把 HTML字符串渲染为对应的UI结构

其他常用组件

button

功能丰富,通过open-type属性可以调用微信提供的各种功能

请添加图片描述

image

默认宽300px,高240px

image的mode属性用来指定图片的裁剪和缩放方式,常用mode属性如下:

请添加图片描述

navigator

基本模板

数据绑定

同vue2

数据定义在.js文件的data中

插值表达式
  • 动态绑定内容
  • 动态绑定属性

注意,小程序中的属性绑定也使用插值表达式,而不是类似v-bind的指令

  data: {
    mydata:'123',
    imgSrc:'http://www.123.com'
  },
<image src="{{imgSrc}}"></image>
  • 三元运算

事件绑定

常用事件

请添加图片描述

事件回调接收的事件对象event

请添加图片描述

target是触发该事件的源头组件,而currentTarget则是当前事件所绑定的组件。举例如下:

请添加图片描述

e.target指向的是<button>组件

e.currentTarget指向的是<view>组件

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

调用this.setData(dataObject)方法,为data重复赋值

事件传参

注意,小程序在事件传参的方式也和vue不同,无法直接在绑定事件的函数上直接传参

小程序规定必须使用data-*进行自定义属性传参,其中*代表参数的名字,通过event.target.dataset.参数名即可拿到对应的值

bindinput的使用

通过e.detail.value获取input框变化过后的值,每次输入都会触发

小程序中的v-model

小程序中没有v-model语法糖,因此只能自己实现

<input value="{{msg}}" bindinput="inpTouch" />
  inpTouch(e){
    this.setData({
      msg: e.detail.value
    })
  }

条件渲染

wx:if
<view wx:if="{{msg}}">True</view>

也可结合wx:elifwx:else来使用

如果想要实现一次性控制多个标签的显示与隐藏,可以使用<block></block>将多个标签包裹,相当于vue3的<template></template>

hidden

相当于vue中的v-show,不过为true时为隐藏,为false时为显示,和wx:if相反

列表渲染

wx:for

循环渲染指定数组,索引为index,循环项为item

<view wx:for="{{mylist}}">
  索引:{{index}},当前属性:{{item}}
</view>

如果想为index和item重命名,可以使用

<view wx:for="{{mylist}}" wx:for-index="idx" wx:for-item="items">
  索引:{{idx}},当前属性:{{items}}
</view>

同vue,小程序在循环中也建议使用wx:key

wxss

rpx

用来解决屏幕适配问题

原理

类似栅格布局,将所有设备屏幕宽度分为750份,即当前屏幕总宽度为750rpx

单位换算

以为iphone6为例,屏幕宽度为375px,有750个物理像素

750rpx = 375px = 750物理像素

1rpx = 0.5px = 1物理像素

样式导入

@import "相对路径";

全局样式和局部样式

app.wxss为全局样式

*.wxss为局部样式

局部权重大于等于全局时会覆盖全局

全局和页面配置

全局配置

全局配置即为配置app.json

常见配置项目如

  • pages:记录页面路径
  • window:全局设置小窗口外观
  • tabBar:设置小程序底部的tabBar
  • style:是否启用新版本

window节点

主要配置小程序窗口的navigationBar区域和background区域

请添加图片描述

window节点常用配置项

请添加图片描述

tabBar

小程序共有底部tabBar和顶部tabBar两种;tabBar最少配置两个,最多配置五个;当渲染顶部tabBar时,不显示icon,只显示文本

tabBar的组成部分

请添加图片描述

tabBar节点的配置项

请添加图片描述
list中每个tab对象的配置选项

请添加图片描述

页面配置

当我们对全局配置不满意时,可以对页面进行单独配置

常见配置项

同全局配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一些关于通信拓扑、图论的内容笔记

链接&#xff1a;https://zhuanlan.zhihu.com/p/373368383 目前主要是这一个系列&#xff0c;记下来怕我过后忘了。 别处看到的&#xff08;大概率3B1B&#xff09;----走桥的问题----d偶数 多智能体一致性问题&#xff08;分蛋糕&#xff09; 入度 出度 &#xff1a;信息流…

007_补充_ Pytorch 反向传播和Neural ODE的反向传播

一、Pytorch反向传播 首先是第一个小例子&#xff0c;训练模型拟合 y true_w * x true_b&#xff0c;模型的参数为 param_w, param_b import torchtrue_w torch.Tensor([[2.0, 3.0], [4.0, 5.0]]) # 初始化真实的参数 true_b torch.Tensor([[1.0, 2.0], [3.0, 4.0]]) #…

linux安装jdk17

登录linux 我使用的是Alibaba Cloud Linux 3.2104 LTS 64位操作系统&#xff0c;登录后结果如下&#xff1a; Welcome to Alibaba Cloud Elastic Compute Service !Updates Information Summary: available7 Security notice(s)5 Important Security notice(s)2 Moderate Sec…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园二手商品交易系统p11v7

毕业设计说实话没有想象当中的那么难&#xff0c;导师也不会说刻意就让你毕设不通过&#xff0c;不让你毕业啥的&#xff0c;你只要不是太过于离谱的&#xff0c;都能通过的。首先你得要对你在大学期间所学到的哪方面比较熟悉&#xff0c;语言比如JAVA、PHP等这些&#xff0c;数…

laravel对于数据量特别大的导出excel的提速方案

背景&#xff1a;一些业务场景需要导出excel的需求&#xff0c;但是面对日益增长的数据&#xff0c;要导出的数据会越来越大。生成表格的时间也会越来越慢。针对这个问题&#xff0c;目前的业务通过两个角度去提速。 1&#xff1a;异步导出 如果数据量达到一定的体量&#xf…

【毕业设计】大数据大众点评评论文本分析 - python 数据挖掘

文章目录0 前言1 爬虫1.1 整体思路1.2 网页爬取和解析1.3 数据存储1.4 反爬虫对抗2 探索性分析与文本数据预处理2.1 探索性分析2.2 数据预处理2.3 词云展示3 文本的情感分析3.1 先上结果3.2 文本特征提取&#xff08;TF-IDF&#xff09;3.3 机器学习建模3.4 最后输出的准确率4 …

java ssh校园拼餐系统

首先在系统前台&#xff0c;游客用户可以经过账号注册&#xff0c;管理员审核通过后&#xff0c;用账号密码登录系统前台&#xff0c;查看拼餐服务、网站公告、文明拼餐员、会员风彩、系统简介、咨询信息、拼餐信息等栏目信息&#xff0c;进行在线咨询和管理员交流&#xff0c;…

LTSPICE使用教程:二极管钳位电路仿真

在我们查看芯片内部的设计电路时&#xff0c;通常会发现以下的电路结构&#xff1a; 当定义pin脚输入电压Vpin&#xff0c; 1.Vpin>VDD,二极管D1导通&#xff0c;D2截止&#xff0c;此时无论怎样继续加大VPIN的输入电压时&#xff0c; 进入到管脚内部的电压会被钳制在Vint…

【RocketMQ中生产者生产消息的高可用机制、消费者消费消息的高可用机制、消息的重试机制、死信队列于死信消息】

一.知识回顾 【0.RocketMQ专栏的内容在这里哟&#xff0c;帮你整理好了&#xff0c;更多内容持续更新中】 【1.Docker安装部署RocketMQ消息中间件详细教程】 【2.RocketMQ生产者发送消息的三种方式:发送同步消息、异步消息、单向消息&案例实战&详细学习流程】 【3.Rock…

野火FPGA入门(5)

文章目录第17讲&#xff1a;触摸按键控制LED灯第18讲&#xff1a;流水灯第19讲&#xff1a;呼吸灯第20讲&#xff1a;状态机第21讲&#xff1a;无源蜂鸣器驱动实验第17讲&#xff1a;触摸按键控制LED灯 触摸按键可分为四大类&#xff1a;电阻式、电容式、红外感应式、表面声波…

调优工具常用命令

语法格式 mysqldumpslow [ OPTS... ] [ LOGS... ] //命令行格式常用到的格式组合 -s 表示按照何种方式排序c 访问次数l 锁定时间r 返回记录t 查询时间al 平均锁定时间ar 平均返回记录数at 平均查询时间 -t 返回前面多少条数据 -g 后边搭配一个正则匹配模式&#xff0c;大小写…

机械专业学子的芯片封装仿真“逆袭之路”

作者&#xff1a;萧显军 导读&#xff1a;近期&#xff0c;ANSYS公司给清华大学集成电路学院捐赠了一批业界领先的计算机辅助工程(CAE)软件及自动化(EDA)软件&#xff0c;为清华大学的芯片设计仿真的教学科研工作提供更强大的软件服务与技术支撑。 捐的仿真软件包括ANSYS涉及…

小白学Java

ip地址&#xff1a;用于唯一识别标记网络中的每一台计算机 查看方法&#xff1a;ipconfig ip地址的表示形式&#xff1a;点分十进制 xx.xx.xx.xx 每个十进制数的范围&#xff1a;0-255 ip地址的组成 网络地址主机地址 ipv4地址分类&#xff1a; &#xff08;特殊&#xff1a;…

一、react简介

目标 理解react这个框架在前端开发中的地位理解react诞生的原因和意义&#xff08;react是一个用于快速构建前端视图的javaScript库&#xff09;理解什么是虚拟dom、原生js模拟出虚拟dom的表示&#xff0c;模拟出创建虚拟dom的方法&#xff0c;模拟出虚拟dom转换成真实dom的方…

什么是甘特图?什么是项目管理?

数字化与信息化早已成为现今人们工作和生活中不可缺少的一部分。尤其是随着科学技术的进步&#xff0c;人们对数字化的期待也越来也高。作为项目管理中常备的工具&#xff0c;甘特图已经成为不少业内人士中常备的“神器”了。然而依旧有人搞不清甘特图与项目管理区别究竟在哪里…

Revit中创建基于线的砌体墙及【快速砌体排砖】

​  墙可以更改内部结构和材质&#xff0c;但是很难画出砌块样式形成的墙体&#xff0c;我们可以用其他方式画出砌体排砖墙么?这里我们用基于线的常规模型做砌体排砖墙。在开始我们需要做两个族&#xff0c;作为砌体排砖墙的基本单位&#xff0c;也就是一个单独的砌体块。 一…

多亏了这份大佬整理的Java进阶笔记,让我斩获7个offer

移动互联网时代&#xff0c;IT 系统变得愈加复杂&#xff0c;对我们程序员的要求也是越来越高&#xff0c;技术不断更新&#xff0c;我们还不能停止学习&#xff0c;停下来了就会被打上一个‘不合格的程序员’的标签&#xff0c;如何成为一位「不那么差」的程序员&#xff1f; …

java.io.IOException: FIS_AUTH_ERROR in Android Firebase

项目里更换完google-services.json文件后&#xff0c;获取 firebase token 时&#xff0c;显示报错&#xff1a; E/FirebaseInstanceId: Topic sync or token retrieval failed on hard failure exceptions: FIS_AUTH_ERROR. Wont retry the operation.D/AndroidRuntime: Sh…

测试行业3年经验,从大厂裸辞后,面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生

测试员可以先在大厂镀金&#xff0c;以后去中小厂毫无压力&#xff0c;基本不会被卡&#xff0c;事实果真如此吗&#xff1f;但是在我身上却是给了我很大一巴掌... 所谓大厂镀金只是不卡简历而已&#xff0c;如果面试答得稀烂&#xff0c;人家根本不会要你。况且要不是大厂出来…

精品基于ssm的足球联赛管理系统的设计与实现vue

《基于ssm的足球联赛管理系统的设计与实现》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;ssm 前端技术&#xff1a;JavaScript、VUE.js&#xff08;2.X&#xff09;、css3 J…