微信小程序日记(一)
一、基础知识(目录与配置)
(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组件 ...
随机推荐
- DevExpress02、RibbonControl
RibbonControl 常用操作 1.如何代码显示选中的页 ribbonControl1.SelectedPage = ribbonPage2; 2.如何绑定ApplicationMenus和Po ...
- angular 生命周期钩子 ngOnInit() 和 ngAfterViewInit() 的区别
angular 生命周期钩子的详细介绍在 https://angular.cn/guide/lifecycle-hooks 文档中做了介绍. ngOnInit() 在 Angular 第一次显示数据 ...
- jQuery实现滚动时动态加载页面内容
有些网站的网页内容不是一次性加载完毕的,而是在鼠标向下滚动时动态加载的,这是怎么做到的呢?看下面代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- 20165318 2017-2018-2 《Java程序设计》第七周学习总结
20165318 2017-2018-2 <Java程序设计>第七周学习总结 目录 学习过程遇到的问题及总结 教材学习内容总结 第11章 JDBC与MySQL数据库 错题总结 第五周错题总 ...
- 4518: [Sdoi2016]征途
Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天晚上Pine都必须在休息站过夜 ...
- Day6 重载构造
带参数方法 [1]无参数,无返回值 void 方法名(){方法体:} [2]无参数,有返回值 int 方法名(){方法体:} [3]有参数,无返回值 void 方法名(int num){方法体:} [ ...
- Python文件和流
#coding = utf-8 from pprint import pprint import fileinput #read(n) f = open(r'E:\test_dir\somefile. ...
- Python3的__new__进行构造类的实例化
__new__方法 这个方法是用来生成类的实例 class Singleton(object): def __new__(cls,*args, **kwargs): ① if not hasattr( ...
- windows7使用Sphinx+PHP+MySQL详细介绍
安装(Windows) 1.官方下载 Sphinx下载地址: 下载 2.解压并重命名 此处下载版本为3.0.3,将 sphinx 文件夹命名为sphinx 3.文件夹目录介绍 sphinx --api ...
- EF 解除属性映射到数据库中 NotMappedAttribute无效解决办法
可以通过NotMappedAttribute标记模型某个属性可以使该属性不必映射到数据库. public class Unicorn { public int Id { get; set; } [No ...