与iOS开发很相似,小程序的导航栏也可以全局设置一下,在公共文件appjson中设置了导航栏相关样式如下:
这个地方是全局设置,如果想要在不同的页面设置各自的标题属性,只需要在该子级文件中设置
子页面想调用共公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 = 05px。
具体的 这里有一片文章介绍的很详细 , 还有这个
小程序的事件主要有:
小程序中的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文件中,面向对象的方式模型输出: moduleexports={要调用的函数名称:要调用的函数名称 };
2:在要调用的js文件中模块化引入utils的js文件 var object=require("utils被调用的js文件地址"); 可以输出一下object就能看到被调用的方法了;
例子如下:
要调用的js文件:
小程序的后台获取数据方式get/post具体函数格式如下:wxrequest({})
如果屏幕中某元素的内容超过此元素的高度,可设置元素为scroll-view 为滚动状态元素,这样可以做到元素固定高度且元素内容滚动屏幕不滚动的效果;
scroll-view标签的主要属性分为以下几种:
微信小程序广告轮播元素 所在元素/swiper-item>
其中属性有:
更改事件:bindchange='imgchange' imagechange()的edetailcurrent为当前显示页面的下标值
(1)使用本地缓存
(2)通过页面路由
在使用url进行参数传递时候,传递数据有字节限制,如果要传递对象,需要先把对象通过JSONstringify转换成字符串,接收或再通过JSONparse转换成对象
demo
<template is="模板名" data="数据对象" />
A页面跳转到B页面
页面传值
微信小程序 页面传值详解
一 跨页面传值
1 用 navigator标签传值或 wxnavigator, 比如
这里将good_id=16 参数传入detail页面, 然后detail页面的 onload方法内接受
如果需要传多个参数, 用 & 链接即可
如果要传 数组, 字典等复杂类型, 要先用 JSONstringify() 转成字符串传递
注 : 如果转化的字符串中 有""这个符号, 则只会传递""以前的字符串, 这个问题我猜想可能是小程序内部的路由处理 对这个""敏感吧
好, 这是第一种 依靠跳转的url带参数传值
2 用getCurrentPages(); 获取栈中全部页面的, 然后把数据写入相应页面
这里可以传字符串, 也能传数组等,
这样就把 address 传递并接受了
注 : 这个方法适合 往后面传值(即已经存在的页面), 这样才能在栈中找到并主动写入数据, 且 一定要在 onshow() 方法中接受, 因为再次返回只执行onshow()方法
3 写入本地, 跨页面在取出来 wxsetStorage/wxgetStorage等, 小程序中对写入本地数据 封装了很多方法, 各有侧重, 这里就不多说了
4 把 数据声明为全局变量
var detail = getApp()detail; 可在任何页面获取
二 页内传值
1 设置id的方法标识跳转后传递后的参数
在bindtap定义的点击方法 swiperTap : function(e) ; 中获取, var id = ecurrentTargetid;
2 设置 data-xxx 的方法来标识要传递的值
注 : 这里 data-index="{{index}}" 里的 {{index}} 是有效的, 在用wx-for 渲染视图层时, index 代表点击的下标 在bindtap定义的点击方法 swiperTap : function(e) ; 中获取, 即 var index = ecurrentTargetdatasetindex; 其他的参数取出也如此, var type = ecurrentTargetdatasettype;
3 form表单和input输入框
方法1:A页面跳转链接添加参数,B页面onLoad 接收
方法2:设置全局变量 globalData,用的少,一般适用于全局共享的一份信息,如用户open_id等
以上就是关于微信小程序开发常用知识点全部的内容,包括:微信小程序开发常用知识点、小程序页面传递数据 、传递数组对象 小程序传值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)