微信小程序日记(一)
一、基础知识(目录与配置)
(1)标签
小程序的view相当于HTML的div标签一样,作占位
(2)每一个页面都需要在app.json里面注册,例如:
{
{
"pages": [
"pages/posts/posts",
"pages/welcome/welcome"
]
}
优先需要启动显示的页面放在第一位,该例子会先显示posts.wxml
(3)每一个页面对应一个目录,且目录下的文件名要一样
(4)app.json可以配置所有属性,而页面目录下的json只能配置window属性,所以在页面文件夹的json文件只需写需要配置的信息,不许要加上window
(5)配置全局变量
①在app.js添加全局值
globalData: {
douBan:"https://api.douban.com"
}
②在需要调用的js引入全局值
var app=getApp();
③获取具体指
app.globalData.douBan
二、常用属性
(1)数据绑定
①定义参数值
this.setData({
postdata: postData
});
②调用参数值
普通的获取绑定数据格式{{data}},而凡是标签属性都要加引号wx:if="{{post_data}}",
(2)If根据变量控制标签显示或隐藏:
在具体标签里面加wx:if="{{img_condition}}",condition是数据绑定为布尔值
(3)For循环渲染数据:
①后台返回数据格式如下:
post_data=[
{
date: "Sep 12 20",
title: "我是谁!",
},
{
date: "Dec 10 02",
title: "你是谁!",,
}
];
②小程序调用如下:
<block wx:for="{{post_key}}" wx:for-item="item" wx:for-index="idx"></block>
(4)事件绑定:
①在点击标签加上
bindtap='onTap'
②js里面编写 onTap函数
onTap:function(){
console.log("点击了")
},
(5)页面跳转和传参:
①存在子父关系,可返回
wx.navigateTo({
url: '../posts/posts?postid='+postid,
})
而此时会触发生命周期的onhide函数
②不存在关系,不可返回
wx.redirectTo({
url: '../posts/posts?postid='+postid,
})
而此时会触发onunload函数
(6)事件冒泡与非冒泡
冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递
子元素想要阻止父元素冒泡可以使用catchcap替换bindtap,一般都是用bindtap
三、模板template
①编写模板,在post-item-template.wxml编写模板,格式如下:
<template name="postItem"> 内容 </template>
②引入模板,在页面的wxml头部引入模板,格式如下:
<import src="posts-item/post-item-template.wxml" />
③添加模板,格式如下:
<template is="postItem" data="{{item}}" />这里的is就是对应模板的name名称
④模板引入样式。格式如下
@import "posts-item/post-item-template.wxss";
四、显示正在下拉效果
wx.showNavigationBarLoading();
五、缓存(上限10M,会永久保存)
①设置缓存:
wx.setStorageSync("test", {
game : "test",
deve : "wer"
})
②获取缓存:
wx.getStorageSync("test");
③清楚某个缓存:
wx.removeStorageSync("test")
④清除所有缓存:
wx.clearStorage()
微信小程序日记(一)的更多相关文章
- 微信小程序开发日记——高仿知乎日报(下)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
- 微信小程序开发日记——高仿知乎日报(中)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...
- 微信小程序开发日记——高仿知乎日报(上)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
- 微信小程序爬坑日记
新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...
- 微信小程序开发踩坑日记
2017.12.29 踩坑记录 引用图片名称不要使用中文,尽量使用中文命名,IDE中图片显示无异样,手机上图片可能出现不显示的情况. 2018.1.5 踩坑记录 微信小程序设置元素满屏,横向直接w ...
- 微信小程序踩坑日记1——调用微信授权窗口
0. 引言 微信小程序为了优化用户体验,取消了在进入小程序时立马出现授权窗口.需要用户主动点击按钮,触发授权窗口. 那么,在我实践过程中,出现了以下问题. . 无法弹出授权窗口 . 希望在用户已经授权 ...
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- 微信小程序实例源码大全
微信小程序实例源码大全下载 微信小应用示例代码(phodal/weapp-quick)源码链接:https://github.com/phodal/weapp-quick 微信小应用地图定位demo( ...
- 微信小程序开源项目库汇总
最近做了一个微信小程序开源项目库汇总,里面集合了OpenDigg 上的优质的微信小程序开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. UI组件 ...
随机推荐
- October 08th 2017 Week 41st Sunday
Talent wins games, but teamwork and intelligence wins championships. 才华让你赢得比赛,团队及智慧让你赢得冠军. But the m ...
- in有两种用法:
# in有两种用法: 1. 在for中. 是把每一个元素获取到赋值给前⾯的变量. 2. 不在for中. 判断xxx是否出现在str中. #len() 为内置函数,输出为1,2,3,4....., 长度 ...
- Programming Assignment 4: Boggle
编程作业四 作业链接:Boggle & Checklist 我的代码:BoggleSolver.java 问题简介 Boggle 是一个文字游戏,有 16 个每面都有字母的骰子,开始随机将它们 ...
- 在web.xml中配置404错误拦截
<error-page> <error-code>404</error-code> <location>/home.do</location> ...
- Raft一致性算法
所有的分布式系统,都面临的一个问题是多个节点之间的数据共享问题,这个和团队协作的道理是一样的,成员可以分头干活,但总是需要共享一些必须的信息,比如谁是 leader, 都有哪些成员,依赖任务之间的顺序 ...
- POJ Football Game 【NIMK博弈 && Bash 博弈】
Football Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 451 Accepted: 178 Descr ...
- iPhone 电脑备份路径
C:\Users\iChen\AppData\Roaming\Apple Computer\MobileSync\Backup
- 关于html5 audio 标签在ios系统上不能正常自动播放的解决办法
由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio, 因此我们通过一个用户交互事件来主动 play 一下 audio. ...
- oracle什么时候须要commit
今天在oracle的SQL plus 中运行了删除和查询操作,然后在PL/SQL中也运行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,可是为什么不一致呢,就 ...
- 在CentOS/RHEL 6.4上安装Chromium
是的,之前Google就说了,由于CentOS/RHEL 6已经是过期的系统,所以不再会有Chrome了.虽然后来由于引起了社区的抗议,从而改口,不再提CentOS/RHEL 6是过期系统了:但是,目 ...