• 公共样式定义
/* 公共样式 */
page{height: 100%;background: #f7f7f7;
}
view,image,input,text,button,textarea {box-sizing: border-box;margin: 0;padding: 0;font-size: 0;}
input,textarea{outline: none;border: none;
}
 <text class="video_title">{{lisVidindex !=='' ? listData[lisVidindex].name:'暂无视频'}}
</text>

注意:!=’‘和!==’‘的结果不同,!=’‘会把0也包含在内,让你损index=0的数据

this.setData({//...},() => {你获取最新数据要干的事情、调去某个函数}})
  • 点击切换动画

    A :原理:利用this.setdata()的回调函数和定时器改变布尔值来增加删除类名从而达到效果

/* 动画 */
//xx.wxss
.antonaimate需要加的动画{opacity: 0;transform: translateX(-40rpx) !important;/* transition: all 0.3s linear; */
}.tab_item_content需要加动画的类{transform: translateX(0);transition: all 0.3s linear;
}
// xx.wxml
<view class="tab_item_content {{isopacity?'antonaimate':''}}">一些需要动画的内容</view>
//xx.js
onChangCyTab(optain){let that = this;that.setData({isopacity:true},()=>{setTimeout(()=>{ that.setData({isopacity:false})},500);//改变文案、手机展示、小tab选项})},
  • 微信小程序 border-radius overflow不生效
//其实就是兼容问题
-webkit-backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
  • video控件属性不起作用(查了好多帖子qaq)

    如:微信小程序video隐藏状态栏
    需要在xx.js的data里设置属性的变量值再赋值过去,直接在wxml里写属性值如false无效

  • 微信小程序禁止page或者其他标签滚动
//xx.js
//禁止page滚动,给你调用的函数方法加
wx.setPageStyle({style: {overflow: 'hidden'}
})
//xx.wxml
//禁止不含滚动需求的标签滚动,给标签加行内属性
<view  catchtouchmove="ture">
  • 在微信小程序内获取一个标签的值:通过给该标签绑定属性data-xxx='',然后在点击时通过点击对象e,来获取这个值
 <view data-xxx="{{item.title}}" bindtap="goPage">{{item.title}}</view>
//xx.jsgoPage(e){console.log(e,'ppp')let value = e.currentTarget.dataset.xxx;}
  • 获取swiper轮播变动后当前current值
给swiper添加该方法bindchange
  • 用变量设置style的值,或者变量需要通过计算得出style的值
<view style="width:{{comment_list.avg_fenshu*20}}%;"></view>
  • wx:for 控制循环的个数
 <view  wx:for="{{list}}" wx:if="{{index <3}}" wx:key="index"></view>
  • 页面切换更换头部标题
wx.setNavigationBarTitle({title: 'xxxxx公司' //页面切换,更换页面标题})
  • 换行符

微信小程序里换行符不管用,需要使用\nstyle="white-space: pre-wrap;"

//eg<view style="white-space: pre-wrap;">
左\n滑\n查\n看\n全\n部
</view>
  • 空格占位符
<text class="info" decode="true">二&ensp;维&ensp;码:</text>
wx.navigateTo({url:url})
  • 微信小程序富文本解析:

    需求:详情页的获取的富文本内涵多张图片和文字,涉及到的难点:全局替换图片样式

 onLoad(options) {let contentInfo = this.data.resData.article_info.content.replace('p>','p><br/>').replace(/<img/g,'<img style="width:750rpx;max-width:100%;height:100rpx;display:block;margin:0 auto;"')this.setData({contentInfo:contentInfo},function(){console.log(this.data.contentInfo)})},
  • 父子各自都有事件

    text不能加事件?

子view: catchtap='childClick' hover-stop-propagation='true'
父view: bindtap='parentClick'
  • scroll-view标签使用时需要加固定高度
 <scroll-view scroll-y="true" style="height: 300rpx;" ><view id="demo1" class="scroll-view-item demo-text-1"></view><view id="demo2"  class="scroll-view-item demo-text-2"></view><view id="demo3" class="scroll-view-item demo-text-3"></view></scroll-view>
  • 一个页面内多个video,只能播放一个;因为父级使用的 scroll-view所以需要关闭控制进度的手势 enable-progress-gesture="false"
<video object-fit="fill" preload="auto"  controls src="{{item.url}}" poster="{{item.poster}}"
enable-progress-gesture="false"bindtap="onVideoSwitch"id="{{index}}" data-index="{{index}}"></video>
 data: {currIndex:null,// 当前视频videoList:[{url:'https:xxx',poster:'https:xxx',},{url:'xxx',poster:'xxx.jpg',},]},onVideoSwitch(e){// 切换底部轮播视频let curIdx = e.currentTarget.id;console.log(curIdx,'id')if(!this.data.currIndex){//如果当前没有视频在播放this.setData({currIndex:curIdx});let videoContext = wx.createVideoContext(curIdx, this);videoContext.play();}else{//如果有视频在播放let videoContextPrev = wx.createVideoContext(this.data.currIndex, this);//this是在自定义组件下,当前组件实例的this,以操作组件内 video 组件if(this.data.currIndex !== curIdx){//当前播放视频不等于点击视频videoContextPrev.pause()this.setData({currIndex:curIdx});let videoContextCurrent = wx.createVideoContext(curIdx, this);videoContextCurrent.play();}}},
  • setData中键名key中使用变量

    需求:封装复用函数时通过传入的参数来修改data里对应的数据内容
    原理:es6 允许声明在对象字面量时使用简写语法,来初始化属性变量和函数的定义方法,并且允许在对象属性中进行计算操作

getData(pam){this.setData({[pam]:res.data.data});
},
  • wx:if 和 hidden

因为wx:if之中的模板也可能包含数据绑定,所以当wx:if的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。

同时wx:if也是惰性的,如果在初始渲染条件为false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

一般来说,wx:if有更高的切换消耗而hidden有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用hidden更好,如果在运行时条件不大可能改变则wx:if较好。

  • wx.showToast 提示会阻断后面执行的代码,所以有this.setData()修改时要放在 wx.showToast之前 深层逻辑???
         this.setData({})wx.showToast({title: '留言成功请耐心等待回复',duration: 2000})
  • template模板没有配置文件(.json)和业务逻辑文件(.js),所以template模板中的变量引用和业务逻辑事件都需要在引用页面的js文件中进行定义;

点击拨打电话

  onCall(){let phone = "188xxxxx" // 仅为示例wx.makePhoneCall({phoneNumber: phone  })},
  • 小程序跳转内嵌h5页面

1.现在微信公众平台-开发-开发管理-开发设置-业务域名内设置要跳转的页面的域名(把校验文件放在这个页面的后台代码里?)

2.在开发者工具里新建一个page(正常的空白页面):然后在wxml文件里复制如下代码

<view class="page-body"><view class="page-section page-section-gap"><web-view src="https://xxxxx.com"></web-view></view>
</view>

3.点击跳转到该页面

  wx.navigateTo({url:url})
  /*** 生命周期函数--监听页面加载*/onLoad(options) {let that= this;setTimeout(function(){that.getTap();},4000)},
"navigationBarTextStyle": "white"
  onPageScroll(e){// console.log(e,'ppp')if(e.scrollTop>100){console.log('dayi')}},

微信小程序开发页面总结-文档(ing)相关推荐

  1. 微信小程序开发教程手册文档

    微信小程序开发教程文档 微信小程序是什么?微信小程序如何开发?微信小程序开发教程有哪些?本教程将从微信小程序本身,结合微信官方-微信小程序开发工具,带你一步步创建一个微信小程序,并在手机操作预览该小程 ...

  2. 微信小程序开发-页面跳转传递参数

    微信小程序开发-页面跳转传递参数 页面跳转有四种方式,分别为wx.navigateTo.wx.redirectTo.wx.reLaunch.wx.switchTab,前面三种可通过url路径携带参数实 ...

  3. 微信小程序公众平台的文档链接

    微信小程序公众平台的文档链接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html

  4. 微信小程序开发---页面生命周期

    微信小程序开发---生命周期 何为生命周期 小程序全局[app.js]---生命周期 小程序页面[pages/pagename.js]---生命周期 何为生命周期 生命周期是指一个事物从创建到销毁的一 ...

  5. 微信小程序开发页面无法显示,未注册报错

    微信小程序开发 VM507 WAService.js:2 Page "pages/post/post" has not been registered yet 在对应的js文件中检 ...

  6. 微信小程序绑定云服务器文档,微信小程序云开发搭建一个管理小程序.pdf

    微微信信小小程程序序云云开开发发 搭搭建建一一个个管管理理小小程程序序 概概述述 : 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云 能力. 云开发为开发者提供完整的云 支持, ...

  7. 微信小程序开发之官方文档学习(一)

    小程序宿主环境 渲染层和逻辑层 小程序的运行环境分成渲染层和逻辑层:WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层.渲染层和数据相关:逻辑层负责产生.处理数据,通过 Page 实 ...

  8. 微信小程序卡包wx.addcard文档缺失-ext参数说明

    前言 微信小程序卡包打通文档缺失,特别是wx.addcard文档,没有对ext参数有详细的说明,可能会导致跳转卡包领取界面时,提示参数错误等问题.因为小程序卡包文档缺失的问题,我在开发过程中遇到各种问 ...

  9. 四十七、微信小程序开发页面结构WXML

    这年头,一天不学习,天理难容. 还是赶紧复习微信小程序的知识,加大学习力度. 文章目录 WXML 数据绑定 WXML基本语法 系统组件 WXML WXML(WeiXin Markup Language ...

最新文章

  1. LeetCode - Reorder List
  2. Spark Streaming 作者,Alluxio 的创始人李浩源:AI 潮流对做数据存储业务公司的挑战...
  3. 白苹果了怎么强制开机_iphone X 手机进水开机卡白苹果怎么回事?
  4. docker中centos遇到sudo: command not found
  5. c++: internal compiler error: Killed
  6. [Scrum] 12.22
  7. IntelliJ IDEA 的这个接口调试工具真是太好用了!
  8. 创建 Refs 的几种方式
  9. Openlayer:学习笔记之解析地图组成
  10. 实用网站、软件、App分享
  11. oracle 模拟阻塞,Oracle 阻塞(blocking blocked)介绍和实例演示
  12. 离圆心最远的整数点(微软笔试题)
  13. Ttest(T检验)
  14. 顺序图-循环和分支-操作符的使用
  15. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法
  16. Traffic Control
  17. 项目开发流程(简述)
  18. Android端实现多人视频语音聊天|音视频开发
  19. 8.29 网易面试准备
  20. SQL Server连接其他服务器

热门文章

  1. Creo二次开发:创建工程图,生成球标和明细表
  2. 中国环保机械市场现状调研与未来投资方向预测报告2022-2028年
  3. wps 模拟分析 规划求解_wps表格如何实现规划求解运算
  4. opencv人脸检测+美颜
  5. 【游戏开发实战】Unity从零开发多人视频聊天功能,无聊了就和自己视频聊天(附源码 | Mirror | 多人视频 | 详细教程)
  6. Linux 查看内核 系统 等软件版本命令
  7. div+css的ppt,DIV+CSSPPT课件.ppt
  8. 永硕E盘:很实用的网络硬盘和网址收藏夹
  9. Unity学习笔记之用粒子系统实现类似金币飞入金币条动画效果
  10. KT6368A蓝牙芯片的MTU的说明以及如何加快BLE传输速率