问题:页面中只用到四个属性:goods_name,goods_price,goods_introduce,pics,但是整个对象中有22个属性,小程序中建议:data中只存放标签中要使用的数据,而现在goodsObj中有很多属性用不到,这无形之中会导致小程序的性能变得比较卡了.所以我们要对它进行优化,优化页面要渲染的属性. 原来的做法: 修改如下: 此时data中的数据也变少了.…
微信小程序前端页面书写 WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. 一.数据绑定 1. 普通写法 <view> {{ message }} </view> Page({ data: { message: 'Hello MINA!' } }) 2. 组件属性 **简直和上面没区别啊** <view id="item-{{id}}"> </view> Pag…
图解微信小程序---实现页面的跳转与返回操作 代码笔记 操作步骤 第一步:在app.json配置文件中,创建跳转页面 第二步:编写首页跳转(注意跳转方式,和设置点击样式类名) 第三步:编写首页样式 第四步:编写nv页面 第五步:编写nv页面样式 第六步:因为首页使用了 ?占位符进行传参,所以编写js获取参数 第七步:编写re页面(需要设置返回跳转,因为跳转过来时,设置了open-type属性值为redirect) 第八步:编写re页面样式 第九步:因为首页跳转过来了也传递了参数,所以编写js获取…
微信小程序:页面配置 page.json 一.页面配置 page.json 如果整个小程序的风格是蓝色调,那么可以在 app.json 里边声明顶部颜色是蓝色即可. 实际情况可能不是这样,可能你小程序里边的每个页面都有不一样的色调来区分不同功能模块,因此我们提供了 page.json,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色.是否允许下拉刷新等等. 每一个小程序页面也可以使用.json文件来对本页面的窗口表现进行配置. 页面的配置只能设置 app.json 中部分 windo…
一.微信小程序开发--页面文件组成 [page.name].js 页面逻辑文件,用于创建页面对象,以及处理页面生命周期控制和数据处理 [page.name].wxml wxml指的是Wei Xin Markup Language 用于定义页面元素结构的.  语法遵循XML语法,不是HTML语法 [page.name].json  (可选) 设置当前页面的Window的配置,此处会覆盖app.json中的window设置,也就是说,只可以设置window中设置的属性. [page.name].wx…
下面,粗略的介绍一下微信小程序的条件渲染.列表渲染.数据绑定等,详细的内容大家可以去看微信小程序的API,在此只做简单描述,希望能帮助到大家 条件渲染 <!--wxml--> <view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view> <view wx:elif="{{view == 'APP'}}"> APP </view> <view wx:else=…
setData setData 是小程序开发中使用最频繁的接口,也是最容易引发性能问题的接口.在介绍常见的错误用法前,先简单介绍一下 setData 背后的工作原理. 工作原理 小程序的视图层目前使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境.在架构上,WebView 和 JavascriptCore 都是独立的模块,并不具备数据直接共享的通道.当前,视图层和逻辑层的数据传输,实际上通过两边提供的evaluateJavascript 所实现.即…
1.组件的基本使用 <button type="default" > default </button> <button type="primary" size="{{primarySize}}" loading="{{loading}}" plain="{{plain}}" disabled="{{disabled}}" bindtap="pri…
效果图: 页面有点丑,作为初次学习,页面可以要求不那么美观,先学会再说.毕竟后面可以优化的很漂亮. 代码实例如下: <view class="section btn-area"> <view class="section__title">欢迎{{userName}}来到ACS管理系统</view> <view> <text>\n</text> </view> <view cla…
(一) WXML 是什么 官方说明:WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构 在前面我们就已经提过,WXML,就可以理解为我们传统页面中的HTML,它是微信为我们提供的一套标签语言,可以说它就是我们小程序的脸面(虽然没经过CSS装饰前不一定光鲜亮丽),开发中 WXML 页面就作为我们一些逻辑行为的入口,以及效果展示的承载者. 再大白话一点:你所看到的小程序页面长什么样(不涉及背后做了什么行为,只说表面),就是…
路由方式 简介 对于路由的触发方式以及页面生命周期函数如下: 路由方式 触发时机 路由前页面 路由后页面 初始化 小程序打开的第一个页面   onLoad, onSHow 打开新页面 调用 API wx.navigateTo 或使用组件 <navigator open-type="navigateTo"/> onHide onLoad, onShow 页面重定向 调用 API wx.redirectTo 或使用组件 <navigator open-type="…
1. 通过url带参数传递 1.1 固定参数传递 例如,从 list 页面到 detail 页面, 传递一个或多个固定值 list页面传值: <!--pages/list/list.js--> <navigator url="../detail/detail?id=1&name=名称">点此进入 detail</navigator> detail页面取值: <!--pages/detail/detail.js--> onLoad:…
我们在之前发布过小程序页面传值方法的简单介绍,说明了在小程序开发中,两种常见的页面之间传值方法. 本期,知晓程序(微信号 zxcx0101)为你带来的是「倒数记日」小程序开发者带来的,小程序开发中,有关页面间数据传递的更多方法. 文 | 小日子先生 在微信小程序的开发中,我们会经常遇到页面间数据传递或者相互影响的问题.在实际的开发过程中,可以通过以下几种方法来实现. 使用全局变量 全局变量实际上是定义了一个全局的对象,并在每个页面中引入. 在初始化代码的时候,小程序会读取一个 app.js 的文…
一.功能描述 页面跳转时,同时把当前页面的数据传递给跳转的目标页面,并在跳转后的目标页面进行展示 二.功能实现 1. 代码实现 test1页面 // pages/test1/test1.js Page({ /** * 页面的初始数据 */ data: { name:'Tom', age:'12' }, buttonListener:function(){ var that = this wx.navigateTo({ url: '/pages/test2/test2?nameData=' + t…
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序之控制器的初始化逻辑 微信小程序开发系列五:微信小程序中如何响应用户输入事件 微信小程序开发系列六:微信框架API的调用 这个系列教程的前六篇文章我们都在单个的视图上操作.现在让我们创建第二个视图,然后实现从第一个视图到第二个视图的跳转. 首先开发第二个视图: <view class="con…
一.微信小程序 跳转页面 小程序页面有2种跳转,可以在wxml页面或者js中: (1)在wxml页面中: <navigator url="../index/index">跳转到新页面</navigator> <navigator url="../index/index" open-type="redirect">在当前页打开</navigator> <navigator url=".…
一.navigator--完成页面之间的跳转 1.新建一个页面文件夹 2.在app.json文件中引入页面 "pages": [ "pages/index/index", "pages/ranking/ranking" ], 3.在wxml页面中用navgator标签实现跳转 <navigator url="../ranking/ranking">排行榜</navigator> 二.页面间跳转和传值 1…
在编写小程序时遇到一个问题:使用 <navigator url='/pages/lists/index'>...</navigator>进行跳转没有反应.控制台也没有报错,app.json页也已经定义路径.网友得出的结论是因为tabtar里定义了一样的路径,导致其他地方不能重复使用. 在编辑微信小程序的时候,遇到的坑,使用 <navigator url='/pages/logs/logs'>跳转</navigator>进行跳转失效 了,进行多次测试发现, 当…
无论是在小程序还是APP中,打开一个页面其实就是创建了一个新的View对象,一层层叠加的.当点击页面的回退按钮就是把当前页面关闭. 这个过程中会涉及到一个问题,就是打开页面的数量.在某些设计下,比如一个商品详情页面中会推荐其他的商品,这些商品点进去就是详情页面.详情页面中又有推荐,又可以点进去.这样重复下去打开的页面就会越来越多. 如果不做限制,当打开数量到一定程度的时候肯定会卡死了.在微信小程序中打开的页面不能超过10个,达到10个页面后,就不能再打开新的页面. 之前出现这个问题,还以为是Bu…
在wxml页面执行toFixed函数的时候发现失效,在微信小程序的js页面是生效的,但是我不希望在data中保留这些额外的数据,于是找到了下面这种解决方案wxs脚本语言. <wxs module="m1"> var numberToFix= function (value) { return value.toFixed(2) } module.exports.numberToFix=numberToFix; </wxs> <view>toFixed:…
微信小程序中如果从一个页面中进入下一个页面,如果下个页面的数据有删除或者增加再返回上一个页面的时候,就会导致页面不刷新(数据加载函数在onload中),从而造成数据不一致的情况.其实在微信小程序中是可以实现改变上一个页面中的数据似的前后两个页面数据一致的. 一般的方法可以使用本地缓存将当前页面的数据放入,回到上级页面的时候再从缓存中读取出来,还有就是使用页面栈的. 获取当前页面栈的实例可以通过getCurrentPages() 函数.以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素及时当…
一.简介 微信小程序页面主要分为tabbar页面和应用内页面,这两种页面的跳转方式不同 二.tabBar页面跳转 tabBar 是底部导航栏页面,如下图 在app.json中的配置如下: 跳转方式如下: 也可以用 navigator 跳转,需要设置 open-type="switchTab" 三.应用内页面跳转 注意:只能跳转不带TabBar的页面 应用内页面跳转有两种方式 (1).用wx.navigateTo({})方式跳转 (2).navigator 跳转…
为什么要使用页面全局参数:方便使用数据. 由于总页数需要再另外的一个方法中使用,所以要把总页数变成一个页面全局参数.因为取数据使用this.xxx即可,中间不用加data,给页面全局参数赋值页方便,直接使用this.xxx=值即可,不需要使用setData() 页面全局参数与data同层级. Page({ /** * 页面的初始数据 */ data: { goodsList: [], total: 0 }, //接口要的参数 QueryParams: { query: '', cid: '',…
不是标题党,我们公司的项目确确实实是省下了100kb的主包空间,而且还是在没有牺牲任何的性能和业务的前提下实现的. 但是100kb是根据项目大小,所以你用这个插件可能省下超过100kb或者更少. 直接上代码看效果 一个名为fixMiniCssPlugin的插件,在vue.config.js使用它 class fixMiniCssPlugin { constructor() {} apply(compiler) { compiler.hooks.thisCompilation.tap('remo'…
onShareAppMessage: function () { return { title: '微信小程序联盟', desc: '最具人气的小程序开发联盟!', path: '/page/user?id=123' //path什么参数也不传递,默认就是当前页面的链接 } }…
微信小程序里面无法像用jquery一样获取到元素的节点.小程序提供了一个wx.createSelectorQuery()来获取元素的相关信息.官方的文档对于它的用法都已经写的很详细了. 我直接上在项目中使用的代码吧~ 先交待一下我的项目需求,看下图: 获取那块高度的原理很简单,就是页面的整体高度减去1,2,3的高度. 看下页面结构: js具体代码如下: Page({ /** * 页面的初始数据 */ data: { tabContHeight:300, }, //计算高度 getRect: fu…
这次的优化我公司项目主包只减小了32kb,但是减小的不仅仅是主包,所有分包均在没有改动任何业务代码的情况下完成了压缩空间的优化. 主包分包压缩空间的优化都要视项目而定,32kb只是我公司的小程序项目. 还有一点需要提前说明,此优化我公司项目因为主包够用了就还没有正式使用,不保证完全没有问题,所以要辛苦测试了. 插件 uni-optimize 是我看了uni源码之后发现的所有可安全优化的地方,包括压缩空间和提升打包速度2个方面 uni-optimize中的fix-ensure-import-plu…
[未经允许,请勿以任何形式转载] 什么是路由? 我们通常理解的路由指分组数据包从源到目的地时,决定端到端路径的网络范围的进程: 借用上面的定义,我们可以理解小程序页面路由,根据路由规则(路径)从一个页面跳转到另一个页面的的规则. 通过本篇文章,你可以学习到: 哪些情况会触发页面跳转 如何跳转页面 页面传参 页面栈 一.哪些情况会触发页面跳转 小程序启动,初始化第一个页面 打开新页面,调用 API wx.navigateTo 或使用<navigator />组件 页面重定向,调用 API wx.…
小程序生命周期分为应用生命周期和页面生命周期 1.Onload:页面加载时触发,一般在onLoad中发送异步请求来初始化页面数据. 2.onShow:页面显示时触发 3.onReady:页面初次渲染完成时触发. 4.onHide:是页面隐藏时触发,注意不是应用隐藏,切后台时,页面就会隐藏.即整个小程序隐藏时,页面也就隐藏了.另外,在当前页面跳转的时候也相当于当前页面隐藏. 5.onUpload:页面卸载(关闭)时触发,当open-type为redirect,reLaunch,navigateBa…
/pages/{module}/{page}/index.js   这个是目录结构 所有单个页面(Page)目录内, 都叫做index,如 index.js  index.wxss  ,不需要起其他名称 内部编码 生命周期函数按照官方书写 事件处理  onClick   on开头即可 目录结构中 components 目录  放置 Component images 放置需要展示的图片   ,鉴于小程序体积的问题,这里会很少 lib   一些类库 比如 loadash , md5 , moment…