微信小程序笔记
1、文件的作用
js,wxml,wxss,json
所有页面中要用到的变量,都放在可了pages目录下
wxml:类似于html文件
wxss;类似于css文件(类, id, 标签,子代,后代,before,after)
json: 主要去设置app.json
文件当中,js和wxml必须有,剩下两个可以没有不报错
2、小程序生命周期
软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。
一个是App的生命周期
另一个是Page的生命周期
App的生命周期
四个 onlaunch(初始化) ,onShow(显示), onHide(隐藏) , onerror(报错)
3、以及如何跳转一个新页面
三种
navigateTo
<navigator url="">
rediracte 不能反回上一页
4、如何绑定点击事件
行内写入bindtap=’事件名称’
5.顶部title的设置
{"navigationBarTitleText": "快递查询"}
6、js中的变量在页面中显示出来(this.setData)
首先要在js中的page里去添加这个变量,在页面当中的{{}}的模板中直接添加,改变页面当中的变量的值得时候,需要调用this.setData 一个page内只能有一个data对象,不然后面的data会把前面的data覆盖掉
7、this.用的时候要注意指向问题
this的三个状态
函数,方法,构造函数
1.函数 指向window
2.方法 谁调用指向谁(当前对象)
3.构造函数 谁实例化指向谁
8、小程序使用全局属性
var app=getApp()
子页面可以修改全局属性,并且会影响到其他页面的使用
page外和page内:
通过this.data.name来访问到data中name的属性值;
this.data.name也可以设置 this.data.name的值,但是这个值无法在页面中渲染出来。
this.setData({name.....})
变量名前加this,是从page内去找这个变量;没加this是从外去找这个变量;
9、页面传参
search 我们在跳转的路径中加上search格式的数据
在目标也onload方法中用形参接收
11、模块化:高内聚低耦合
App 文件是公共文件;
所有文件大小总共4M;
当前运行的文件不能超过2M。
部分公共的代码放到某个JS文件中;
通过module.exports获取属性。
谁要借要通过,require(path);
12、小程序wx:if 条件渲染,wx:for循环
在JS文件中如果需要if判断,按我们之前的写法就可以了
在页面(wxml)当中去使用,if判断 标签内部添加 wx:if wx:elif wx:else
for循环:JS文件中使用和我们之前是一样的;
在页面(wxml)中循环输出的话,标签内部添加 wx:for子元素用item,索引是index
view标签包裹条件。会在页面中显示出来;
block标签 不会再页面中显示出来
13、wxss文件引用(样式文件)
@import path 公用css样式
14、小程序之模板
有多个相同样式的HTML片段。公用的HTML样式提取出来,放到template 标签中 并且添加name 属性等于xxx
当前页面需要用模板代码的时候,import 标签把模板path添加过来
<import src="../../list/list.wxml"></import>
template is属性等于xxx
<template is="message" data="{{...obj}}"></template>
当前页面中的数据要添加到模板当中去,模板中直接{{}}输出变量名
在template标签中去添加data属性,等于{{..当前JS中要使用的变量}}
15、小程序的请求
16、form表单中:bindsubmit=”函数”
button标签要设置 formtype=”submit”;
在函数的形参中得到所有,设置的数据;
//app.js
App({
onLaunch: function () {
console.log("App生命周期函数——onLaunch函数");
},
onLoad: function (options) {
// 生命周期函数--监听页面加载
console.log("Page onLoad函数");
},
onReady: function () {
// 生命周期函数--监听页面初次渲染完成
console.log("Page onReady函数");
},
onShow: function () {
// 生命周期函数--监听页面显示
console.log("Page onShow函数");
},
onHide: function () {
// 生命周期函数--监听页面隐藏
console.log("Page onHide函数");
},
onUnload: function () {
// 生命周期函数--监听页面卸载
console.log("Page onUnload函数");
},
globalData: {
userInfo: null
}
})
//logs.js
const util = require('../../utils/util.js')
Page({
data: {//所有的数据都要方法page下面的data对象里面去
logs: []
},
onLoad: function () {
this.setData({
logs: (wx.getStorageSync('logs') || []).map(log => {
return util.formatTime(new Date(log))
})
})
}
})
17、搜索功能实现
1)用户在输入框中输入数据,通过input输入,bindinput
获取输入框的value值,将value值存放到data中;
2)点击搜索以input中的关键字去搜索中搜索,选择对应数据;
3)将数据在页面中渲染出来;
4)下拉显示加载更多、或者是加载中;
5)如果没有影响的数据返回,没有找到你想要的数据;
6)下拉显示加载中。。。字样,下拉完成之后,加载中。。。。隐藏。
18、购物车
1)将商品存放到购物车:
点击当前的购物车的时候,把当前数据放到本地储存中去;点击购物车的时候拿到当前盒子中的数据;
(一)、点击购物车图标拿到当前数据的id(把数据中的id绑定给购物车图标)(有全部数据,和某条数据的id(唯一标识))
(二)、循环遍历数组中的id,拿来和我们得到的id去比较,如果相等,就把这条数据提取出来。
(三)、添加到本地储存中去
① 如何避免数据的覆盖
② 添加变量 记录点击的次数
- 判断当前用户是否有过想买的商品
是:获取本地存储
否:让当前数组为空数组
- 当前点击的商品,用户是第几次点击
第一次:只让当前商品的times为1,并且追加
多次 :让当前商品的times+1,不追加
2)拿取购物车商品,读取缓存;
① 判断购物车中是否有数据
如果没有我们给用户提示
有的话直接显示
② 把数据在页面中渲染出来
个数最小为1
点击见得时候
点击加的时候
点击剩余的时候
微信小程序笔记的更多相关文章
- 微信小程序笔记(二)
微信小程序环境搭建与开发工具介绍 2-1 开篇介绍及下载工具 1.开发工具下载地址: http://t.cn/RVKH0HS 2.下载安装对应版本:win32,win64,mac; 2-2 小程序 ...
- 微信小程序笔记<七>视图层 —— wxml
微信小程序的视图层由 *.wxml 组成,wxml与html一样属于标签语言,但wxml与html的标签截然不一样. xwml特性 一.数据绑定 <!--wxml--> <view& ...
- 微信小程序笔记<六>模块化 —— module.exports
微信小程序中所有 js 文件作用域皆为独立的,每一个 js 文件即为一个模块.模块与模块之间的引用通过 module.exports 或 exports 对外暴露接口. 注意: exports 是 m ...
- 微信小程序 笔记
1.Input 输入控件 <input type='digit' placeholder='0.00'></input> 如果要使用单纯的数字控件,使那么可以将type设置为d ...
- 微信小程序笔记整理--入门篇。
7-2 微信小程序入门篇 准备篇 1.登录网址,https://mp.weixin.qq.com 注册一个微信小程序. 2.获取微信小程序appid,登录自己的小程序后台,在开发者设置中获得appid ...
- 微信小程序笔记<三>入口app.js —— 注册小程序
小程序开发框架在逻辑层使用的语言就是JavaScript,所以想玩小程序JavaScript的基本功一定要扎实.但小程序基于js做了一些修改,以方便开发者更方便的使用微信的一些功能,使得小程序更好的贴 ...
- 微信小程序笔记<五> 页面管理及生命周期(route)——getCurrentPages()
在小程序中所有页面的路由全部由框架进行管理,而框架以栈的形式维护了当前的所有页面. 当发生路由切换时,页面栈的表现: getCurrentPages() 用于获取当前页面栈的实例,可以把 getCur ...
- 微信小程序笔记<四>page.js —— 页面注册
小程序的每个页面都是独立的,每个页面都必须有 page.js 和 page.wxhl 文件,page.json 和 page.wxss 文件非必要文件,注意如果创建 page.json 则至少保证有一 ...
- 微信小程序笔记<二>认识app.json
*.json文件在小程序开发中必不可少,从 app.json 开始认识小程序中的配置文件*.json: app.json 为小程序必须文件,它不仅作为配置文件管理着小程序的UI还充当着路由器的功能: ...
随机推荐
- Linux中检查本地系统上的开放端口列表的方法
在 Linux 中很少有用于此目的的实用程序.然而,我提供了四个最重要的 Linux 命令来检查这一点. 你可以使用以下四个命令来完成这个工作.这些命令是非常出名的并被 Linux 管理员广泛使用.n ...
- 安卓入门——————简单记账本的开发(二)-点击listview跳转并实现数据的更新
前言: 这个博客主要实现listview的跳转并实现对数据库内容的更新并显示到listview上,还没有实现listview的实时更新和listview具体线条的添加(接下来的几篇博客会实现),如 ...
- js判断终端以及APP应用判断
**第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端.代码如下:** <script type="text/javascript"& ...
- 关于用IIS在.net平台发布网页的一些坑
说明:由于需要显示页面的表格的内容,要用pageOffice插件,而装pageoffice之前需要装.net3.5,直接导入. 为什么要分别装.net4.5和.net3.5 ? 都要装? 问题:刚才 ...
- 标定版制作(棋盘、圆点、aruco等)
标定板这个东西,对于双目.立体视觉来说那都是必须的.我们这里提供一些做好的标定板,也提供制作标定板的制作方法 一.基本制作思路(以棋盘标定板为例) 1. “插入” - “表格” 根据提示选择多少行乘 ...
- js去除数组里重复的条目,返回被删除的条目的新数组
我爱撸码,撸码使我感到快乐! 大家好,我是Counter. 今天给大家分享的是利用js进行数组的去重,还是老样子,该注释的都注释在代码里了 欢迎一起技术探讨,一起成长. 效果如下: 代码给出: // ...
- Manjaro 安装svn客户端,以及checkout使用命令
安装svn sudo pacman -S svn checkout操作指令 svn co http://xxxxxxx /home/xx update 更新版本 svn up [文件/目录] 直接使用 ...
- No Directionality widget found.错误记录。
import 'package:flutter/material.dart'; void main() => runApp(new Center(child: new Text('Hello, ...
- linux下php环境搭建(xampp)
(迁移自旧博客2017 08 30) 学习一门语言之前需要配置环境,今天我们就将配置php开发环境,为php的后续学习做准备. xampp是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAM ...
- Cordova开箱注意事项
在进行cd 目录切换的时候 一定要 注意大小写 不然 node_modules 下的依赖包 会报错 区分大小写 Cordova 在打包的时候报错 一般是版本或sdk问题 cordova 的版本要和co ...