idea shell 中的函数 跳转_关于初次写微信小程序的注意事项(以简单的日历手账为实例) - 幻术是中二
一、环境配置
首先,制作微信小程序需要到官网注册账号并且下载微信开发者工具。
在官网完善小程序的信息,即可得到小程序AppID。在使用小程序·云开发需要使用此AppID。
打开新建的小程序,可以看到以下目录
在components文件夹下可以存放很多从github上下载的插件,比如日历插件等等。
pages下的index/是我们这个小程序的默认的主页,一般初始化的小程序云开发index有获取openid和前端操作数据库的方法。
二、实例演示
以做一个手账小程序为例:
1.跳转页面
简单的手账要有主界面和一个添加事件的界面。
这两个页面的跳转需要用到(Object object)和(Object object)两个函数,实现页面的跳转和返回,这两个函数一般放在onLoad当中,
onLoad: function (options) {bindViewTap: function() {({//保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。小程序中页面栈最多十层。url: '../../..'})},/*bindViewTap: function() {({//关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。delta: 2//返回两层})},*/},
2.上传图片、图片预览、删除图片
上传图片
手账小程序当然也要有记录图片和文字的功能,这里先说一下上传图片的功能。
首先,通过小程序·云开发的index界面我们不难发现有一个上传图片的功能,为了方便写出预览和删除图片的功能,这里先对上传图片的代码做一些解释:
// 上传图片doUpload: function () {// 选择图片({count: 1,//一次性上传的图片的数量sizeType: ['compressed'],//指定是原图还是缩略图,这里是缩略图,默认两者都有sourceType: ['album', 'camera'],//从相机或者图库获取图片,默认两者都有success: function (res) {//接口调用成功执行的函数//显示加载提示框({title: '上传中',})//const filePath = [0]//获取上传的图片路径,这里是选择图片返回的临时地址// 上传图片const cloudPath = 'my-image' + (/\.[^.]+?$/)[0]//正则表达式获取文件扩展名({cloudPath,//云服务器路径filePath,//图片路径success: res => {('[上传文件] 成功:', res)//在控制台返回文件上传成功的信息,可以用于后期在调试器的Console中调试//获取图片的文件ID和云文件路径app.globalData.fileID = res.fileIDapp.globalData.cloudPath = cloudPathapp.globalData.imagePath = filePath({//跳转到页面,用于图片预览等等url: '../storageConsole/storageConsole'})},fail: e => {//在控制台返回上传失败的信息('[上传文件] 失败:', e)({icon: 'none',title: '上传失败',})},complete: () => {()//(Object object)用于隐藏 loading 提示框} })},fail: e => {(e)//向调试面板中打印 error 日志}})},
图片预览
在上传图片的当前页面进行图片预览,暂时不需要调用数据库里的图片,废话不多说,直接上代码解析吧
.js
//.jspreviewImage: function(e){({current: e.currentTarget.id, // 当前显示图片的http链接urls: this.data.files // 需要预览的图片http链接列表})}
.wxml
//.wxml<view class="container"><block wx:for="{{files}}" wx:key="*this"><!--循环遍历,显示出全部的预览图片--><view class="list-item" bindtap="previewImage"><!--点击触发previewImage的函数--><image class="image1" src="{{item}}"mode="aspectFill" >//<icon type='cancel' class="image_remove" catchtap="removeImage"></icon></image></view></block></view>
删除图片
.js
//删除removeImage(e) {var files = this.data.files;var index = e.currentTarget.dataset.index;files.splice(index, 1);//splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。({files: files//替换改变后的图片组});},
currentTarget是事件绑定的当前组件。
dataset在组件节点中可以附加一些自定义数据。这样,在事件中可以获取这些自定义的节点数据,用于事件的逻辑处理。
setData函数主要用于将逻辑层数据发送到视图层
.html
<icon type='cancel' class="image_remove" catchtap="removeImage"></icon>
bindtap和 catchtap都属于点击事件,绑定之后,点击组件是可以触发这个函数的。
而bindtap在子元素绑定事件后,执行的时候会触发父元素上绑定的bingtap事件,catchtap则不会冒泡到父元素上。
idea shell 中的函数 跳转_关于初次写微信小程序的注意事项(以简单的日历手账为实例) - 幻术是中二相关推荐
- axure 小程序 网盘_万门大学微信小程序实战开发特训班【完结】网盘高清全套最新系列精品课程...
万门大学微信小程序实战开发特训班[完结]网盘高清全套最新系列精品课程 课 程 简介 我买了这个课程,课程很有价值,我们通过链接或百度网盘群的形式在共享资料库中与您共享,需要万门大学微信小程序实战开发特 ...
- 微信小程序页面栈_浅谈下微信小程序中的路由(页面跳转、返回、刷新、页面栈)...
什么是小程序里的"路由"?路由器吗?蒙蔽?好吧,在WEB应用中它其实就是分组数据包从源到目的地时,决定端到端路径的网络范围的进程:在小程序里就是设置页面的跳转,返回,自动刷新等一些 ...
- java写微信小程序答辩问题_微信小程序 开发中遇到问题总结
微信小程序 开发中遇到问题总结 1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载.例: //app.js App({ ...
- hbuilderx 小程序分包_基于uniapp的微信小程序之分包
0. 缘由 最近工作在接触uni-app,用它来开发微信小程序,也是第一次接触,找了很久,还有大佬用自己写的函数做的,俺觉得我不会也不配,刚好看到下面评论是官方也支持了,所以就用官方的了,这里记录一下 ...
- 微信小程序和vue双向绑定哪里不一样_浅析Vue 和微信小程序的区别、比较
写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. vue的钩子函数 ...
- 微信上python小课 骗局_聊聊 Python 做微信小程序自动化,那些踩过的坑?
1. 场景 之前写过 微信小程序的几种方式,对于有源码的小程序推荐使用微信开放的 SDK 来做自动化,否则只能使用原生或 WebView 的方式. 最近在用 Python + Appium 在微信小程 ...
- 微信小程序中的html路径,新媒体运营:如何提取微信小程序路径到指定页面
目前微信小程序的功能已经非常的完善,可能平时我们都没有留意到.现在很多的app都有小程序版本,在微信端使用及推广都很便捷. 新媒体运营的同学们可能会发现一个问题,就是怎么才能直接到达小程序的一个指定页 ...
- 在 WebStorm 中开发 uni-app - 用vue2实现手机APP(apk) + 微信小程序项目开发方案
主要是跟vue2相关的开发环境与框架. 本人选型方案 结合自身知识系统(vue2,webstorm),综上相关框架了解,选择了以下方案: 开发环境:HBuilder X + Webstorm 框 ...
- object picker 微信小程序_七夕地图导航微信小程序
七夕期间,开发一款七夕微信小程序,地图导航是七夕小程序一种功能,今天单独开发一款纯七夕地图导航小程序,供大家娱乐,希望大家喜欢. 准备着手实现一个小程序,功能包括--获取用户当前位置的经纬度,在地图上 ...
最新文章
- 客快物流大数据项目(六十二):主题及指标开发
- 微信开放JS-SDK,助力网页开发[转自微信官方]
- php 直接定义 和 construct,PHP _construct()函数讲解
- 23 | 基础篇:Linux 文件系统是怎么工作的?
- Android App Bundle:动态功能模块
- Tr A(矩阵快速幂)
- [Swift通天遁地]七、数据与安全-(12)使用Instruments Leaks工具检测内存泄露
- c6011取消对null指针的引用_C/C++学习笔记——C提高:指针强化
- HDU 2154 跳舞毯
- neo4j python_Python 操作 Neo4j 数据库!
- MYSQL GDB 崩溃调试
- python编程之处理GB级的大型文件
- jmeter录制postman脚本
- linux查看日志方法
- Qt网络编程(1):QTcpSocket和QTcpServer的基本使用
- 2013-2014年度总结
- 「九章云极DataCanvas」完成C+轮融资, 用云中云战略引领数据智能基础软件升级
- Spring的四种注入方式
- Android文件存储---内部存储,外部存储以及各种存储路径解惑
- ESD镜像文件转换成ISO镜像文件解决方案