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

微信小程序学习之旅

微信小程序学习之旅

  • navigate标签之open-type:跳转方式
    • 涉及的生命周期
  • 样式变化
  • wx之列表渲染
  • wx之条件渲染
  • 事件绑定
    • 事件传参
  • 数据修改

navigate标签之open-type:跳转方式

  1. navigate:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面
  2. redirect:关闭当前页面,跳转到应用内的某个页面。但不能跳转到 tabbar 页面
  3. switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
  4. reLaunch: 关闭所有页面,打开到应用内的某个页面
  5. navigateBack:关闭当前页面,返回上一页面或多级页面

涉及的生命周期

  • tabBar页面之间切换,页面不会销毁
  • 左上角返回行为,销毁当前页面,返回上级页面
  • redirect 销毁当前页面,跳转下一页面
  • navigate 保留当前页面,跳转下一页面

样式变化

样式有部分是网页不兼容的,不过大部分是可以正常用的
需要注意的有

  • background-image: url(//http…);不能是本地的资源
  • rpx响应单位,rpx是微信小程序独有的、解决屏幕自适应的尺寸单位,可以根据屏幕宽度进行自适应,不论大小屏幕,规定屏幕宽为750rpx,通过 rpx 设置元素和字体的大小,小程序在不同尺寸的屏幕下,可以实现自动适配

wx之列表渲染

//wxml
<view wx:for="{{list}}" wx:key="id" wx:for-item='i'>
{{i}}
</view>//js
data:{list:[1,2,3,4,5,6]
}

默认子元素使item,可以用wx:for-item重命名

wx之条件渲染

与正常语言差不多,无非加个wx:前缀

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

事件绑定

在微信小程序里用tap代替click事件,应为这样翻译更准确

一般有两种写法

  1. bind:事件名=“触发函数”
  2. bind事件名=“触发函数”

bind是开启冒泡的,也就是子元素触发,父元素也会触发 如果想用捕获的改成catch就行

触发的函数可以接受事件event,如果想要获取当前元素,会有target属性,如果要外层则用currentTarget

事件传参

  1. 用data-前缀定义在标签里如
<button type="primary" bind:tap="hander" data-id="11" >绑定</button>
  1. 用mark:XX=‘XX’
<view data-q="12" mark:age='10' bind:tap="hander"></view>

用mark也可以获取到祖先元素的mark

数据修改

直接修改数据是不会改变视图的,可以用setData()方法,为方法中添加要修改的数据,我认为最后是会个源数据合并渲染视图

可以用model进行数据双向绑定

后续会接着更新学习记录

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【iOS】—— 消息传递和消息转发
  • 团队高效地使用 Git 进行协同开发
  • 【常见开源库的二次开发】基于openssl的加密与解密——MD5算法源码解析(六)
  • Axure中继器进阶指南:打造专业级交互
  • <数据集>UA-DETRAC车辆识别数据集<目标检测>
  • 【已解决】Django连接MySQL启动报错Did you install mysqlclient?
  • 基于STM32设计的人体健康监测系统(华为云IOT)(189)
  • 前端学习(二)之HTML
  • ExoPlayer架构详解与源码分析(15)——Renderer
  • 昇思25天学习打卡营第15天|两个分类实验
  • studio编译报错java.lang.NullPointerException
  • 组队学习——支持向量机
  • C#语法基础详解(万字总结)
  • 拖拽上传(预览图片)
  • UseMemo、UseCallback、React.memo
  • 230. Kth Smallest Element in a BST
  • echarts的各种常用效果展示
  • ES6 ...操作符
  • ES6简单总结(搭配简单的讲解和小案例)
  • exports和module.exports
  • gf框架之分页模块(五) - 自定义分页
  • HTML5新特性总结
  • HTTP那些事
  • JS学习笔记——闭包
  • NSTimer学习笔记
  • orm2 中文文档 3.1 模型属性
  • Rancher-k8s加速安装文档
  • Vue 动态创建 component
  • 半理解系列--Promise的进化史
  • 大整数乘法-表格法
  • 简单基于spring的redis配置(单机和集群模式)
  • 每天一个设计模式之命令模式
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何在GitHub上创建个人博客
  • 思否第一天
  • 线上 python http server profile 实践
  • 学习笔记TF060:图像语音结合,看图说话
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • #define
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • $refs 、$nextTic、动态组件、name的使用
  • (10)ATF MMU转换表
  • (2.2w字)前端单元测试之Jest详解篇
  • (21)起落架/可伸缩相机支架
  • (Java数据结构)ArrayList
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (一一四)第九章编程练习