多项技能,好像也不错。学习一下微信小程序。

  教程:https://mp.weixin.qq.com/debug/wxadoc/dev/

  

  简介:一套用来开发在手机微信上运行的app框架,不用安装

  组成:结构文件wxml、样式文件wxss、js文件

  备注:wxml 和html是一样的,除了部分便签不一致;wxss和css是一样的;js同理

  说明:支持双向数据绑定、ES6语法,遵循commonjs规范管理模块

  首先在教程(https://mp.weixin.qq.com/debug/wxadoc/dev/)中找到工具,然后从“微信开发者工具”链接进入,下载开发者工具,之后安装。安装好后,用手机微信确定登录后,就可以创建项目了。如何创建可参照简易教程。

  简易记事本 - 主要功能:

  1. 列表展示

  2. 新增/编辑

  数据存储在storage中

  简易记事本:

目录结构 列表 新增/编辑 
   

  

  

  在目录结构中的app.json中配置路由及导航条的基本设置,其中pages数组中的第一个就是入口的路由页面:

{
"pages": [
"pages/list/list", // 入口路由页面
"pages/add/add"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "skyblue",
"navigationBarTitleText": "简易记事本",
"navigationBarTextStyle": "#fff"
}
}

  下面展示主要代码:

  list.wxml中的内容如下,add.wxml同理,就不展示了。至于wxss和css一样,也不展示了。

<!--pages/list/list.wxml-->
<view class='page'>
<!-- 每一条文字 -->
<scroll-view scroll-y='true' class='lists'>
<block wx:for="{{lists}}" wx:key="*this.id">
<view class="list-i" bindtap="edit" data-id="{{item.id}}">
<view class="content">{{item.content}}</view>
<view class='time'>创建时间:{{item.time}}</view>
</view>
</block>
</scroll-view>
<!-- 添加一条文字的按钮 -->
<view class='add' bindtap='add'>
<image src='../../img/edit.png'></image>
</view>
</view>

  设置storage使用:wx.setStorageSync(key, data), 获取storage数据使用的是wx.getStorageSync(key)。

  备注:还有一个wx.getStorageInfoSync(),这个是获取storage的信息,而不包含设置的key的具体内容。我第一次就用错了。

// list.js 初始化列表数据
function initData (page) {
var arr = wx.getStorageSync('txt');
if (arr.length) {
arr.forEach((item, i) => {
var t = new Date(Number(item.time));
item.time = util.dateFormate(t);
})
page.setData({
lists: arr
})
}
}
// add.js  获取根据url中的id获取编辑信息
function getData(id, page) {
var arr = wx.getStorageSync('txt');
if (arr.length) {
arr.forEach((item) => {
if (item.id == id) {
page.setData({
id: item.id,
content: item.content
})
}
})
}
} // 设置填写的信息,分编辑、新增
function setValue(page) {
var arr = wx.getStorageSync('txt');
var data = [], flag = true;
if(arr.length) {
arr.forEach(item => {
if(item.id == page.data.id) {
item.time = Date.now();
item.content = page.data.content;
flag = false;
}
data.push(item);
})
}
if (flag) {
data.push(page.data);
}
wx.setStorageSync('txt', data);
}

  小小的展示了以下,^_^

  git项目地址是:https://github.com/ESnail/wx.git

微信小程序 - 实战小案例 - 简易记事本的更多相关文章

  1. 微信小程序实战篇:商品属性联动选择(案例)

    本期的微信小程序实战篇来做一个电商网站经常用到的-商品属性联动选择的效果,素材参考了一点点奶茶. 效果演示:   商品属性联动.gif 代码示例 1.commodity.xml <!-- < ...

  2. 微信小程序实战之天气预报

    原文:微信小程序实战之天气预报 这个案例是仿UC中天气界面做的中间也有点出入,预留了显示当前城市名字和刷新图标的位置,自己可以写下,也可以添加搜索城市.值得注意的是100%这个设置好像已经不好使了,可 ...

  3. 微信小程序源码案例大全

    微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo: ...

  4. [转]微信小程序之购物车 —— 微信小程序实战商城系列(5)

    本文转自:http://blog.csdn.net/michael_ouyang/article/details/70755892 续上一篇的文章:微信小程序之商品属性分类  —— 微信小程序实战商城 ...

  5. [转]微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)

    本文转自:http://blog.csdn.net/michael_ouyang/article/details/70194144 我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示: ...

  6. [转]微信小程序之加载更多(分页加载)实例 —— 微信小程序实战系列(2)

    本文转自;http://blog.csdn.net/michael_ouyang/article/details/56846185 loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后 ...

  7. 【微信小程序】转载:微信小程序实战篇-下拉刷新与加载更多

    下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 当然,你可以直接在全局变量app.json的window里面配置上面这个属性,这样整个项目都允许下 ...

  8. 微信小程序实战 购物车功能

    代码地址如下:http://www.demodashi.com/demo/12400.html 一.准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/ ...

  9. 微信小程序实战之百思不得姐精简版

    原文:微信小程序实战之百思不得姐精简版 微信小程序基本组件和API已撸完,总归要回到正题的,花了大半天时间做了个精简版的百思不得姐,包括段子,图片,音频,视频,四个模块.这篇就带着大家简述下这个小的A ...

随机推荐

  1. rails gem更换ruby-china源

    查看gem源 gem sources -l 换添加源 gem sources --add https://gems.ruby-china.com/ 删除原来的rubygems源 gem sources ...

  2. 219.01.19 bzoj3252: 攻略(长链剖分+贪心)

    传送门 长链剖分好题. 题意:给一棵带点权的树,可以从根节点到任一叶节点走kkk次,走过的点只能计算一次,问kkk次走过的点点权值和最大值. 思路: 考虑将整棵树带权长链剖分,这样链与链之间是不会重复 ...

  3. openstack之镜像管理

    概览 [root@cc07 fast-pulsar]# glance help | grep image [--os-image-url OS_IMAGE_URL] [--os-image-api-v ...

  4. gj12-2 协程和异步io

    12.3 epoll+回调+事件循环方式url import socket from urllib.parse import urlparse # 使用非阻塞io完成http请求 def get_ur ...

  5. eclipse中tomcat启动设置参数

      今天新接触一个项目,使用java+flex做的单机项目,由于模块太多,打成war后就有300M左右了.所以,启动的时候,比较慢,超过了e eclipse中默认的45s,当我进行修改启动事件后,有一 ...

  6. c++中指针的指针和指针的引用的使用

    当指针作为函数的参数进行传递时,实际上本质上是安置传递,即将指针进行了一份拷贝,在函数的内部对这个指针的修改实际上就是对一个在函数内部的那个局部变量的修改.这点事和引用不同的,引用实际上是在参数传递时 ...

  7. wget批量下载http文件

    eg:http://hgdownload.soe.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeAwgDnaseUniform/ 下载该路径下的所有文件 wge ...

  8. sublime text2一些使用技巧+插件

    一.前言 作为一个前端,有一款好的开发利器是必不可少的,editplus.notepad++都是不错的工具,体积轻巧,启动迅速(dw太浮肿了).最近,又有一款新的编辑器诞生,席卷前端界,惹得无数喜爱, ...

  9. (转)自己来控制EntityFramework4.1 Code-First,逐步消除EF之怪异现象

    转自:http://www.cnblogs.com/richwong/archive/2011/07/06/2098759.html 最近的项目开始使用EF4.1,拜读各路大侠文章数遍,满以为可以轻车 ...

  10. MySQL查询练习(45道)

    题目:设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher). 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1 ...