微信小程序开发常用知识点

微信小程序开发常用知识点,第1张

与iOS开发很相似,小程序的导航栏也可以全局设置一下,在公共文件app.json中设置了导航栏相关样式如下:

这个地方是全局设置,如果想要在不同的页面设置各自的标题属性,只需要在该子级文件中设置

子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下

在需要调用的子页面中,

如果是嵌套循环,很容易出现多个list和index,例如表视图一样,所以在小程序中可以重命名 list 和index 方法为:wx:for-index='重命名' wx:for-list="重命名"

在APP开发中,UI复用是一个很好的手段,在小程序上就是模板template。

在逛小程序联盟的时候发现了一个大湿总结的比我好,搬过来一下。

微信小程序中,如果几个页面中需要引用同一个header/footer,当定义了公共模板时,有两种引用方法如下:

方法一:在公共模板中定义template元素,利用 方法 ,这种方式只会显示公共模板的template里面的内容,之外的内容不会显示

** 方法二:**

总结:import方式和imclude方式的不同在于前者仅引用公共模板中的template里面的内容后者仅引用template以外的内容,显而易见,include方式更简单一些,在wxml中只需要一句话即可。

rpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px。

具体的 这里有一片文章介绍的很详细 , 还有这个

小程序的事件主要有:

小程序中的wxml中绑定事件有两种:以touchtab为例 ,在wxml中必须有bind/catch不然无法实现上述事件

bindtouchtab和catchtouchtab bind的不会阻止事件冒泡(元素最里层到最外层函数执行),catch会阻止冒泡,只是冒泡到当前层结束

如果想在元素执行某事件时把元素的某个属性传到后台 可在元素中加入data-属性名称=“xxx”,在事件函数中 function(event){}的event中的currentTarget里面的data-set里面可查看接收在元素中绑定的的id或者其他属性clientX/Y 查看滑动手指距离屏幕左侧的位置,查看滑动位置也可以通过touchstart和和touchend的clientx/y获取

看到几个别人写的,瞬间石化,果断收藏。

在小程序中,定义了一项工具文件utils,此文件的js旨在本文件之内有效,当其他子页面想调用其中的js方法或者变量时,需要两步骤:

1:在utils被调用的js文件中,面向对象的方式模型输出: module.exports={要调用的函数名称:要调用的函数名称 };

2:在要调用的js文件中模块化引入utils的js文件 var object=require("utils被调用的js文件地址"); 可以输出一下object就能看到被调用的方法了;

例子如下:

要调用的js文件:

小程序的后台获取数据方式get/post具体函数格式如下:wx.request({})

如果屏幕中某元素的内容超过此元素的高度,可设置元素为scroll-view 为滚动状态元素,这样可以做到元素固定高度且元素内容滚动屏幕不滚动的效果;

scroll-view标签的主要属性分为以下几种:

微信小程序广告轮播元素 图片所在元素/swiper-item>

其中属性有:

图片更改事件:bindchange='imgchange' imagechange()的e.detail.current为当前显示页面的下标值

微信小程序使用的是类似MVVM类型的框架,本质是数据驱动视图,换句话来说就是逻辑层(javascript)去驱动界面层(view)的改变,功能实现核心主要在于 *** 作数据。

下面来详细讲解,微信小程序如何实现tab切换功能,如下图所示:

在wxml文件里面,搭建结构。其中,tab盒子是tab整体,btns里面的view是切换按钮,cons里面的view是切换的盒子内容。

把切换按钮btns和内容cons渲染出来。在js文件里面书写数据,并且在wxml文件里面通过wx:for进行列表渲染输出。

通过d性布局去书写样式。添加cur当前类名去控制当前按钮的样式和当前显示的内容盒子。

注意微信小程序使用的是rpx可以自适应的单位,规定所有屏幕宽度为750rpx,在iPhone6设备屏幕宽度换算是2rpx=1px。

逻辑层添加了active数据控制当前显示盒子。

wxml要书写判断验证去控制盒子是否有cur类名。

上面表达式表示,如果当前项的索引值index等于数据active,则此项有cur这个类名,否则就没有。注意cur类名是控制当前按钮样式和当前显示内容盒子的。

有cur这个类名的按钮会显示当前的样式,有cur这个类名的内容盒子是显示的,但是否有这个类名是通过active这个数据决定的。所以最后我们只需要把active这个数据的值修改成用户点击按钮的索引值即可实现tab切换功能。

首先要给按钮btn自定义索引值等于循环当前项的index,微信小程序给组件自定义索引值是通过在组件身上添加data-index=”{{index}}”属性,然后在js里面即可通过事件对象里面的e.currentTarget.dataset.index属性获取用户点击按钮的索引值。

给按钮自定义索引值和绑定事件,绑定点击事件通过给按钮组件添加属性bindtap=“函数名”,此处设置函数名为toggle。

把active的值设置为用户点击按钮的索引值,即可实现tab切换功能。

e.currentTarget.dataset.index获取用户点击按钮的索引值,微信小程序通过this.setData()去修改data里面的数据内容。

redirectTo :关闭当前页(卸载),跳转到指定页

navigateTo :保留当前页(隐藏),跳转到指定页

switchTap :只能用于跳转到tabbar页面,并关闭其他非tabbar页面,tabbar之间做切换

注意:switchTab只能跳转到带有tab的页面,不能跳转到不带tab的页面!

list页面:

detail页面:

event.target指的是当前点击的组件

event.currentTarget指的是事件捕获的组件

bindchange 这个事件官方文档中没有写,效果基本和 bindblur 一样,但失去焦点时不会被重复触发,所以一般还是采用 bindblur

小程序对于全局 wxss 组件的继承只能继承 font 以及 color 类型

bind事件绑定不会阻止冒泡事件,而catch会阻止冒泡事件,看官方文档有介绍

在指定的css属性最后带上 ! important 能够加强属性的优先级

wxs 只是与 JavaScript 相似,并非 JavaScript ,所以无法定义 const 常量,得用 var

wxs 存在的意义就是充当 compute/filter 这类功能。

且当使用 wxs 进行数据绑定时,要注意 setData 出来的数据的二次读取,

因为 setData 之前首先会进行一次初始化

wxs编写 :

wxml使用 :

关于 this.data 与 this.setData 的使用细节

this.data 使用于同步 *** 作(如 onLoad 加载),而 this.setData 适用于异步 *** 作(如 wx.request )


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11240948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存