原创文章 1. Page({    data: {      items:{ //items为一个对象,is_like和like分别为其两个属性     is_like: 0,    like: 0  } },   likes: function () { var is_like ="items.is_like"; //先用一个变量,把items.is_like用字符串拼接起来 var like = "items.like"; if (this.data.items…
page({ data:{ s1:{a:"",b:"b"} }, changeData:function(e){ var cData=this.data.s1; cData.a="1";//先修改json值 this.setData({ //再set值 s1:cData }) } })…
在page中有如下数组 data: { info:[ { name:"yuki", tou:"../img/head.jpg", zGong:130, gMoney:222222 }, { name: "yuki", tou: "../img/head.jpg", zGong: 130, gMoney:222222 }, { name: "yuki", tou: "../img/head.jpg&…
在page中 data: { info: [{ name: "yuki", tou: "../img/head.jpg", zGong: 130, gMoney: 222222 }, { name: "yuki", tou: "../img/head.jpg", zGong: 130, gMoney: 222222 }, { name: "yuki", tou: "../img/head.jpg&…
微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动态的修改数据,从而实现动态样式的改变而已.感觉有点········那个啥的,怪怪的.不过也没办法了.如果你有更好的方法,可以在评论区分享一下. test.wxml <view style="text-align: center;"> <label style="…
今天一大早调试小程序,结果出现这个...微信小程序也是醉了,这么大的改动,也没有通过开发者服务号通知一声 人在屋檐下不得不低头(改呗,那么如何以最小的代价更新呢,下面给我的解决方案) 原来我们在首次进入小程序时,会通过getUserInfo调起用户授权的弹窗,但是根据微信小程序,最新更新解释,开发工具,体验版本将不再支持这个授权方式 而是通过button组件让用户自主去点击已完成授权目的(这个对开发者来说真的是很蛋疼) 那我们怎么以最小的代价,来完成授权逻辑的升级呢? 这里根据官方文档给出我的解…
微信小程序里面无法像用jquery一样获取到元素的节点.小程序提供了一个wx.createSelectorQuery()来获取元素的相关信息.官方的文档对于它的用法都已经写的很详细了. 我直接上在项目中使用的代码吧~ 先交待一下我的项目需求,看下图: 获取那块高度的原理很简单,就是页面的整体高度减去1,2,3的高度. 看下页面结构: js具体代码如下: Page({ /** * 页面的初始数据 */ data: { tabContHeight:300, }, //计算高度 getRect: fu…
在小程序开发过程中有两种变量,一种是定义在app,js里面的globalData定义的全局变量,另一种是在各个页面app,data里面的定义的变量. 一:全局变量的定义,获取值,赋值,修改 app.js定义 APP({ globalData:{userinfo:“”}, }) a页面获取值:a.js里面写法 var app=getApp() Page:({ data:{ data:{}   //变量数据 }, onLoad:function() { var that=this; //获取值 th…
前言: 之前使用 setData,一直都是作为给变量赋值,感觉比起vue给data中的变量的赋值还是有点麻烦的. 最近项目不太紧张,为了提高小程序的开发效率及提升小程序开发的能力,又重新的通读了下小程序的开发文档.发现 setData还有一个非必填的参数 callback——setData引起的界面更新渲染完毕后的回调函数,通过这个回调函数,可以在更新data中的数据的时候,同步在回调函数中进行相应操作,这比更新数据和后续操作分开写好多了. Page.prototype.setData(Obje…
小程序不方便之处: 1: 想做个获取列表中每个item所在的对应滚动条的高度在哪里,或者元素本身的高度也不好获取,极其不方便,网上看的别人做的滚动条相关的,都是写死或者已知的item高度,目前没找到正确的方式,也可能是打开方式不对. 2:当点击某个按钮的时候想要获取当前滚动条的高度位置,不方便,只能在监听滚动条时刻滚动的时候获取最新的值存起来.这样的操作setData太耗费性能,毕竟view model跟js core做交互成本不低. 3:接着上一条,不能监听onPageScrol 滚动条停止滚…
小程序的事件分为两种,冒泡和非冒泡事件,像<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件等非冒泡事件,需要到组件的文档里去找,如下是我截图的一些常用的非冒泡事件 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递. 想要实时监听input的输入只要使用bindinput就可以了, wxml: <input bindinput='watchPassWord' type='password…
1.定义 setData()函数用于将逻辑层数据发送到视图层,同时对应的改变this.data的值. 2.setData()参数格式 接受一个对象,以键(key)值(value)的方式改变值. 其中,key十分灵活,以数据路径的方式给出 -- array[2].message,a.b.c.d,并且不需要在 this.data 中预先定义. 3.实例 Page({ data: { text: 'init data', array: [{text: 'init data'}], object: {…
在一般的函数中: bindFaChange1: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ index1: e.detail.value }) } this.setData是正确的. 但当在函数中有个请求(wx.request)时: formSubmit: function (e) { wx.request({ method: 'POST', header: header, url:…
Page.prototype.setData(Object data, Function callback) setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步). 参数说明 字段 类型 必填 描述 最低版本 data Object 是 这次要改变的数据 callback Function 否 setData引起的界面更新渲染完毕后的回调函数 1.5.0 Object 以 key: value 的形式表示,将 this.data 中的 ke…
假如现在要给数组marker中的对象属性赋值 data: { marker: [ { latitude: ' ' , longitude: ' ' } ] },   在方法中的写法为   fetchJobInfor ( ) { let  lat = 'marker[0].latitude' let  lon = 'marker[0].longitude' this.setData({ [lat]:  ' 赋值1 ', [lon]: ' 赋值2 ' }) }…
Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { let _page = this; let config = { api: 'www.playsort.cn' } let configApi = config.api; /** * 为何我们的设置到页面上有的需要加分号? 因为会报错 * 1.怎么解决? 加分号设置到页面上 * 2.怎么解决? 用一个变量保存值,再设置到页面…
首先说一下场景:我所循环的数据是对象数组,设置了一个属性当作标记,通过这个标记的值判断是否给改元素添加样式 wxml: <view> <view wx:for="{{list}}" wx:key="num" class="list" > <text bindtap='changColor' data-index='{{index}}' class='{{item.check?"text-active&quo…
如下图,获取商品价格 属性值显示在content-desc内 传统的get text指定是无法获得到这个元素指定属性的值的 只有通过使用AppiumLibrary.get element attribute指令来获得,写法如下   ${a} AppiumLibrary.get element attribute xpath=//android.view.View/android.view.View[13]    name log ${a} 注意content-desc部分得写成name,否则依然…
wxml <button disabled='{{disabled}}' bindtap="goGetCode">{{code}}</button> js data:{ disabled: false, code: '获取验证码', }, goGetCode:function(){ var that = this; var time = 60; that.setData({ code: '60秒后重发', disabled: true }) var Interv…
最近在使用微信小程序的setData时,遇到了以下问题.如下: 官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的: Page({ data: { array: [{text: 'init data'}], }, changeItemInArray: function() { this.setData({ 'array[0].text':'changed data' }) } }) 使用了 ‘array[0].text’ : ‘changed data’ 这样的值.但在…
如何定义一个全局变量: 1,在根目录下app.js中添加 App({ globalData: { g_isPlayingMusic : false, g_currentMusicPostId :null, doubanbase:"https://api.douban.com", self_reduction:"自减" } }) 2,在js中访问我们的全局变量 var app = getApp(); //全局的 getApp() 函数可以用来获取到小程序实例. onL…
微信小程序 微信小程序面世以来受到的关注颇多,直到最近我才动手尝试进行了小程序的开发,总体上感觉还是不错的,有一点不适应的就是要摆脱Web APP开发对DOM的操作.在这里我就把我是如何利用API开发微信小程序的过程写成教程,教大家快速上手体验一次微信小程序的开发. 补充: 之前忘了把源码发上来,完成之后就已经放在Github上了 点我下载>> 在开始之前我们先来看下成品的效果图 完成效果预览 准备工作 我们先确定想要开发一款什么样的小程序,首先要符合「小」,因为我们这次是要体验小程序的开发,…
本文转自:http://blog.csdn.net/michael_ouyang/article/details/70755892 续上一篇的文章:微信小程序之商品属性分类  —— 微信小程序实战商城系列(4) 自从认识某人后,我收获了两个成功.登录成功.付款成功,而且还拥有了自己的一辆车: 购物车 也发现了自己的不足之处: 余额不足. 为大家介绍的就是购物车 这里演示从商品列表中添加到购物车 下面先做商品列表页.如下图: 布局分析: 首先一个list的主盒子,接着是item盒子,这是必须的.…
本文转自:http://blog.csdn.net/michael_ouyang/article/details/70194144 我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示: 在宝贝详情页里: 在购物车里: 现在就为大家介绍这个小组件,在小程序中,该如何去写 下图为本项目的图: wxml: <!-- 主容器 --> <view class="stepper"> <!-- 减号 --> <text class="…
本文转自;http://blog.csdn.net/michael_ouyang/article/details/56846185 loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后台数据量庞大时,一次性地返回所有数据给客户端,页面的打开速度就会有所下降,而且用户只看上面的内容而不需要看后面的内容时,也浪费用户流量,基于优化的角度来考虑,后台不要一次性返回所有数据,当用户有需要再往下翻的时候,再加载更加数据出来. 业务需求: 列表滚动到底部时,继续往上拉,加载更多内容 必备参数…
最近需要在微信小程序中用到在线支付功能,于是看了一下官方的文档,发现要在小程序里实现微信支付还是很方便的,如果你以前开发过服务号下的微信支付,那么你会发现其实小程序里的微信支付和服务号里的开发过程如出一辙,下面我就具体说一下小程序里微信支付的开发流程和注意点.1.开通微信支付和微信商户号这个过程就和开通服务号的微信支付过程一样,没有什么可以说的.2.获得用户的openid首页我们需要在小程序的客户端js中获取当前用户的openid,通过调用wx.login方法可以得到用户的code,然后开发者服…
在上一篇博客<微信小程序——仿jqueryValidate表单验证插件WxValidate的二次封装>中,我将WxValidate做了再次封装,简化了初始规则数据的构造,但是当有错误时页面上的表现还是通过弹出框的形式,且只能弹出第一个错误,这种做法总体感觉还是不太友好的,没有看过效果的同学可以先看上一篇文章. 今天抽空把错误呈现的方式重新修改了下,按照惯例,先看最终效果 通过上面的效果可以看到,当页面表单验证有错误时,将显示所有的错误,且自动定位到相应的表单处,由于考虑到手机屏幕一般都不大,所…
A类问题 1 请谈谈微信小程序主要目录和文件的作用? project.config.json 项目配置文件,用得最多的就是配置是否开启https校验: App.js 设置一些全局的基础数据等: App.json 底部tab, 标题栏和路由等设置: App.wxss 公共样式,引入iconfont等: pages 里面包含一个个具体的页面: index.json (配置当前页面标题和引入组件等): index.wxml (页面结构): index.wxss (页面样式表): index.js (页…
微信小程序中用到了大量Mustache语法,特发此文学习一下 1.简单的变量调换:{{name}} 1 var data = { "name": "Willy" }; 2 Mustache.render("{{name}} is awesome.",data); 返回成果 Willy is awesome. 2.若是变量含有html的代码的,例如:<br>.<tr>等等而不想转义可以在用{{&name}} 1 va…
前言 最近需要在微信小程序中用到在线支付功能,于是看了一下官方的文档,发现要在小程序里实现微信支付还是很方便的,如果你以前开发过服务号下的微信支付,那么你会发现其实小程序里的微信支付和服务号里的开发过程如出一辙,下面我就具体说一下小程序里微信支付的开发流程和注意点. 1.开通微信支付和微信商户号 这个过程就和开通服务号的微信支付过程一样,没有什么可以说的. 2.获得用户的openid 首页我们需要在小程序的客户端js中获取当前用户的openid,通过调用wx.login方法可以得到用户的code…