微信小程序小结

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545; min-height: 14.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545; min-height: 17.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px "PingFang SC"; color: #454545; min-height: 17.0px }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px "PingFang SC"; color: #454545 }
span.s1 { font: 12.0px "PingFang SC" }
span.s2 { font: 12.0px "Hiragino Sans" }
span.s3 { font: 12.0px Helvetica }
span.Apple-tab-span { white-space: pre }

1?数据绑定 {{}}

<view id="item-{{id}}"> </view>

2?条件语句 wx:if wx:elif wx:else

<view wx:if="{{length > 5}}"> 1 </view> <view wx:elif="{{length > 2}}"> 2 </view> <view wx:else> 3 </view>

注意: <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属 性。

3?列表循环 wx:for ,默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item ,wx:for 也可以嵌套

<view wx:for="{{items}}"> {{index}}: {{item.message}}

</view>

使用 wx:for-item 可以指定数组当前元素的变量名,使用 wx:for-index 可以指定数组当前下标的变量名

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName"> {{idx}}: {{itemName.message}}

</view>

模板 WXML 提供模板(template),可以在模板中定义代码片段,然后在不同

的地方调用。 模板在外部引用 import include

<template name="msgItem"> <view>

<text> {{index}}: {{msg}} </text>

<text> Time: {{time}} </text> </view>

</template>

使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入

<template is="msgItem" data="{{...item}}"/>

is 属性可以使用 Mustache 语法,来动态决定具体需要渲染哪个模板 ,模板拥有自己的作用域,只能使用 data 传入的数据

<block wx:for="{{[1, 2, 3, 4, 5]}}">

<template is="{{item % 2 == 0 ? ‘even‘ : ‘odd‘}}"/>

</block>

import 可以在该文件中使用目标文件定义的 template,如: 在 item.wxml 中定义了一个叫 item 的 template

<!-- item.wxml -->

<template name="item">

<text>{{text}}</text>

</template>

在 index.wxml 中引用了 item.wxml,就可以使用 item 模板

<import src="item.wxml"/>

<template is="item" data="{{text: ‘forbar‘}}"/>

注意C import B,B import A,在 C 中可以使用 B 定义的 template,在 B 中可以使用 A 定义的 template,

但是 C 不能使用 A 定义的 template

include 可以将目标文件除了<template/>的整个代码引入,相当于是拷贝到 include 位置

<!-- index.wxml -->

<include src="header.wxml"/>

<view> body </view>

<include src="footer.wxml"/>

<!-- header.wxml -->

<view> header </view>

<!-- footer.wxml -->

<view> footer </view>

微信小程 pages 页面启动顺序配置,排在第一位的是首页

{

"pages":[

"pages/news/news",

"pages/index/index",

"pages/logs/logs"

] }

utils 中自定义模块

微信小程序中中,utils 下面一个 JavaScript 文件中定义的变量、函数,都只在这个文件 内部有效。当需要从此 JS 文件外部引用这些变量、函数时,必须使用 exports 对象进行暴 露。使用者要用 require()命令引用这个 JS 文件

//暴露给外部

module.exports = {

formatTime: formatTime

}

//外部引用

var Api = require(‘../../utils/api.js‘);

如data里面写了一些默认数据如果想更改需要使用以下方式

changeName: function(){

this.setData({

name:”这是setData里面改变后的name值”

})

}

官方推荐使用标签view和text代替传统的div和p。使用传统的无法使用id选择器,以及微信会自动转换成行内元素,需要自己加display:block转换。

注意微信的使用单位是用rpx,建议用iphone6尺寸来开发。

rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。如在 iPhone6 上,屏 幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1 物理像素

绑定图片不能用img标签,只能用image标签

绑定事件在dom中用bindtap,function中可以用event接收当前点击的对象。

如<view bindtap=“run” data-id=‘12345’ data-attr=‘attr1’>

在方法中接收额外参数

function run(event){

event.currentTarget.dataset

}

冒泡事件列表

touchstart 手指触摸

touchmove 手指触摸后移动

touchcancel 手指触摸动作被打断,如来电提醒,弹窗

touchend 手指触摸动作结束

tap 手指触摸后离开

longtap 手指触摸后,超过 350ms 再离开

bind事件默认不会阻止事件冒泡,如需要阻止,可以用catch绑定事件上,如catchtap

注:除上表之外的其他组件自定义事件都是非冒泡事件,如 <form/> 的 submit 事件,<input/> 的 input

事件, <scroll-view/> 的 scroll 事件

request 数据请求

wx.request({

url: ‘http://www.phone.com/appapi.php?a=getPortalCate‘,

data: {

id: ‘11‘ , name: ‘222‘

}, header: {

‘Content-Type‘: ‘application/json‘

},

success: function(res){

console.log(res.data.result)

} })

request POST 数据提交

wx.request({

url: ‘http://www.57lehuo.com/upload.php‘,          method:"POST",

data: {

username: ‘张三 1111‘ ,

age: ‘222‘

},

header: {

‘Content-Type‘: ‘application/json‘

},

success: function(res) {

console.log(res.data) }

})

时间: 2024-10-16 06:57:29

微信小程序小结的相关文章

微信小程序小结(5) -- 常用语法

在 pages 字段的第一个页面就是这个小程序的首页(打开小程序看到的第一个页面). Page生命周期 属性 类型 描述 onLoad Function 生命周期函数--监听页面加载.一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数. onReady Function 生命周期函数--监听页面初次渲染完成.一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互. onShow Function 生命周期函数--监听页面显示.每次打开页面都会调用一

微信小程序小结(4) -- 分包加载及小程序间跳转

分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载(主要是空间不够用,哈哈~). 在构建小程序分包项目时,构建会输出一个或多个功能的分包,其中每个分包小程序必定含有一个主包,所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本,而分包则是根据开发者的配置进行划分. 在小程序启动时,默认会下载主包并启动主包内页面,如果用户需要打开分包内某个页面,客户端会把对应分包下载下来,下载完成后再进行展示.

微信小程序开发初探

一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值. (3)用完即走的高效服务→这一点就厉害了word天,微信要打造一个以微信为中心的生态链,不以绑定用户为目标.比如生活中有一些不太常用的app,我们可能一年也使用不了几次,但是有时候就需要用到,微信就想要提供这样一个平台,让你可以在微信中使用这中所谓

微信小程序之页面拦截器

场景 小程序有52个页面,其中13个页面无需任何身份,另外39个页面需要系统角色.对于这39个页面,如果微信用户没有系统角色,则跳转到登录页.是否有系统角色信息需要通过异步请求来获取. 需求分析&实现 对需求进行抽象,其实要的就是一个过滤器,对小程序页面的访问进行过滤,符合条件的通过,不符合条件进行其他处理. 使用过php的laravel框架的童鞋,肯定一下子就联想到了laravel框架的http中间件:HTTP 中间件提供一个方便的机制来过滤进入应用程序的 HTTP 请求,例如,Laravel

微信小程序开发之不能使用eval函数的问题

一 eval函数问题 JavaScript中的eval函数是颇受开发者争议的问题之一,问题主要在于其可能导致的不安全性.有关此方面问题,在此不再赘述,读者可能很容易地浏览到许多介绍性文章. 但是,eval函数的优点也是很明显的.例如,使用JS编写一个计算器程序,在遇到"2+1-3*5"这样的字符串时,使用eval就可以很容易地计算出,类似如: var s="2+1-3*5"; console.log(eval(s)); 二 微信小程序练手遇到问题 (1)微信小程序环

利用WordPress REST API 开发微信小程序从入门到放弃

自从我发布并开源WordPress版微信小程序以来,很多WordPress网站的站长问有关程序开发的问题,其实在文章:<用微信小程序连接WordPress网站>讲述过一些基本的要点,不过仍然有不少人对一些细节不明白,于是我就想着再写一篇比较全面而基础的教程,主要针对入门级别用户,高手就不用看了. WordPress版“守望轩”微信小程序开放源码地址:https://github.com/iamxjb/winxin-app-watch-life.net 至于标题,请原谅我,我标题党了. Word

微信小程序开发优秀教程及文章合集第一期

我会不定期的选取一些优质教程,整理成辑,以便大家集中阅读: 新手向!微信小程序开发手记系列:微信小程序开发手记<一>:项目的代码结构微信小程序开发手记<二>:属性display微信小程序开发手记<三>:backgroud和border属性微信小程序开发手记<四>:视图容器微信小程序开发手记<五>:组件微信小程序开发手记<六>:API 艺龙系列:精品!艺龙小程序:开发项目遇到的问题以及解决方案:http://www.wxapp-unio

[干货] 有了微信小程序,谁还学ReactNative?

版权声明:本文由贺嘉原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/145 来源:腾云阁 https://www.qcloud.com/community 最近2天,互联网圈和技术圈的热点话题非微信"小程序"莫属.有些文章从产品角度探讨哪些类型的服务适合做成应用号,也有直接发布内应用号的开发教程的.做为腾讯云的技术布道师,我想换个不一样的角度,从我熟悉和关注的移动开发技术栈的演进角度,讲讲移动开发技术下来可能会

微信小程序使用wxParse实现接入富文本编辑

简介 微信小程序中比如活动说明,简介这样的图文介绍说明页面,后台通常配置成富文本编辑框,由后台直接输入内容,然后在小程序界面展现. 但是富文本编辑提取到内容是html格式的,写法与小程序的wxml并不一致,那么怎么样才能做到富文本能够在小程序页面中显示呢? 解决办法 有位大牛开发了一个模板叫作wxParse,可以直接引入小程序使用.下面把大牛的github地址贴上来: https://github.com/icindy/wxParse 想要了解更多的同学可以直接去他的github下查看说明文档.