全栈开发工程师微信小程序 - 上
全栈开发工程师微信小程序-上
实现swiper
组件
swiper
滑块视图容器。
indicator-dots 是否显示面板指示点 false
indicator-color 指示点颜色
indicator-active-color 当前选中的指示点颜色
autoplay 是否自动切换 false
current 当前所在滑块的 index
interval 自动切换时间间隔
duration 滑动动画时长
circular 是否采用衔接滑动 false
vertical 滑动方向是否为纵向 false
display-multiple-items 同时显示的滑块数量
<swiper style='height: 100%; width: 100%;' indicator-dots>
<swiper-item wx:fot="{{pics}}" wx:key="{{item.id}}" style="flex:1;">
<image src="{{item.image}}" mode="" style='position: absolute; height: 100%; width: 100%; opacity: .8;'>
</image>
</swiper-item>
</swiper>
// index.js
<swiper
indicator-dots="{{indicatorDots}}"
autoplay="{{autoplay}}"
interval="{{interval}}"
duration="{{duration}}"
>
<block wx:for="{{imgUrls}}">
<swiper-item>
<image src="{{item}}" class="slide-image" width="355" height="150" />
</swiper-item>
</block>
</swiper>
<button bindtap="changeIndicatorDots">indicator-dots</button>
<button bindtap="changeAutoplay">autoplay</button>
<slider bindchange="intervalChange" show-value min="500" max="2000" />
interval
<slider bindchange="durationChange" show-value min="1000" max="10000" />
duration
// js
Page({
data: {
imgUrls: [
'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
],
indicatorDots: false,
autoplay: false,
interval: 5000,
duration: 1000
},
changeIndicatorDots(e) {
this.setData({
indicatorDots: !this.data.indicatorDots
})
},
changeAutoplay(e) {
this.setData({
autoplay: !this.data.autoplay
})
},
intervalChange(e) {
this.setData({
interval: e.detail.value
})
},
durationChange(e) {
this.setData({
duration: e.detail.value
})
}
})
显示:
page {
height: 100%;
background-color: #f0f0f0;
}
缓存本地数据
wx.setStorage(Object object)
将数据存储在本地缓存中指定的 key
中
单个
key
允许存储的最大数据长度为1MB
,所有数据存储上限为10MB
。
key 本地缓存中指定的 key
data 需要存储的内容
只支持原生类型、Date、及能够通过JSON.stringify序列化的对象
wx.setStorage({
key: 'key',
data: 'value'
})
try {
wx.setStorageSync('key', 'value')
} catch (e) { }
onLoad: function (options) {
}
onLoad(options) {
}
wx.getStorage(Object object)
从本地缓存中异步获取指定key
的内容
wx.getStorage({
key: 'key',
success(res) {
console.log(res.data)
}
})
try {
const value = wx.getStorageSync('key')
if (value) {
// Do something with return value
}
} catch (e) {
// Do something when catch error
}
引用样式
@import " .wxss";
页面跳转
<scroll-view scroll-x>
<view style="display:flex;">
<navigator url="item?id={{item.id}}" wx:for="{{item.movies}}" wx:key="{{item.id}}">
</navigator>
</view>
</scroll-view>
wx.showLoading(Object object)
显示 loading
提示框
title 提示的内容
mask 是否显示透明蒙层,防止触摸穿透
wx.showLoading({
title: '加载中',
})
setTimeout(function () {
wx.hideLoading()
}, 2000)
wx.hideLoading
是隐藏加载提示的界面交互API
wx.showLoading
是显示加载提示的API
template 声明标签
name 用于模板名称
<import src="list"/>
<template is="list"/>
刷新功能
Page.onPullDownRefresh()
监听该页面用户下拉刷新事件
wx.startPullDownRefresh()
wx.stopPullDownRefresh()
Page({
onPullDownRefresh: function(){
wx.stopPullDownRefresh()
}
})
navigationBarTitleText
代表小程序的标题.
wx:for
是列表渲染标签,默认当前循环项的变量名为item
.wx:key
用于在动态列表渲染中保存子项的特征和状态.
使用wx.getStorageSync
,和wx.getStorage
,前者是同步调用,后者是异步调用.前者调用后可以返回结果,后者需要在回调函数中获取结果.
onLoad(options){
var a = wx.getStorageSync('key');
}
wx.getStorageSync(key)
是小程序同步缓存API
,有Sync
字样,都是同步API
,缓存获取可能会失败,一般是将同步代码放在try catch
代码.
冒泡事件
bind
方式绑定的事件具有冒泡属性,
flex
属性
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性
默认值: 0 1 auto
flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;
flex:1
详解
flex 是 flex-grow、flex-shrink、flex-basis的缩写
flex 的默认值是 0 1 auto
当 flex 取值为 none,则计算值为 0 0 auto
当 flex 取值为 auto,则计算值为 1 1 auto
flex:1
代表什么?
flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto
auto (1 1 auto) 和 none (0 0 auto)
display flex | inline-flex
flex-direction row | row-reverse | column | column-reverse
flex-wrap nowrap | wrap | wrap-reverse
案例:
<style>
#flex {
display: flex;
flex-flow: row wrap;
width: 300px;
}
.item {
width: 80px;
}
<style>
<div id="flex">
<div class='item'>1</div>
<div class='item'>2</div>
<div class='item'>3</div>
<div class='item'>4</div>
</div>
flex
flex: 0 auto
flex: initial flex: 0 1 auto
flex: auto flex: 1 1 auto
flex: none flex: 0 0 auto
justify-content flex-start | flex-end | center | space-between | space-around
align-items flex-start | flex-end | center | baseline | stretch
align-self auto | flex-start | flex-end | center | baseline | stretch
align-content flex-start | flex-end | center | space-between | space-around | stretch
flex:1
代表什么?
让所有弹性盒模型对象的子元素都有相同的长度,忽略它们内部的内容.
data.charAt(0)
用于提取字符串data
的首要字符.
data.subStr(1)
用于从位置1截断字符串并返回.
this.data.arr.shift()
用于从数组arr
的首位抽出一个元素.
this.data.arr.pop()
用于将数组arr
的顶端,就是最后一个推入的元素抛弃.
isNaN(a)
用于判断是不是非数字.
Page.onShareAppMessage(Object)
wx.showShareMenu(OBJECT)
显示当前页面的转发按钮
wx.showShareMenu({
withShareTicket: true
})
wx.hideShareMenu(OBJECT)
隐藏转发按钮
wx.updateShareMenu(OBJECT)
更新转发属性
wx.updateShareMenu({
withShareTicket: true,
success() {
}
})
wx.getShareInfo(OBJECT)
获取转发详细信息
onShareAppMessage(res) {
return {
title: '',
path: '',
}
}
如果看了觉得不错
点赞!转发!
达叔小生:往后余生,唯独有你
You and me, we are family !
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: 达叔小生
https://www.jianshu.com/u/c785ece603d1
结语
- 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
- 小礼物走一走 or 点赞
全栈开发工程师微信小程序 - 上的更多相关文章
- 全栈开发工程师微信小程序-上(下)
全栈开发工程师微信小程序-上(下) icon 图标 success, success_no_circle, info, warn, waiting, cancel, download, search, ...
- 全栈开发工程师微信小程序-上(中)
全栈开发工程师微信小程序-上(中) width: 750rpx; 750rpx代表与屏幕等宽,rpx的缩写responsive pixel,这个单位是可以根据屏幕大小进行自适应调整的像素单位. 小程序 ...
- 全栈开发工程师微信小程序-中(下)
全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...
- 全栈开发工程师微信小程序-中(中)
全栈开发工程师微信小程序-中(中) 开放能力 open-data 用于展示微信开放的数据 type 开放数据类型 open-gid 当 type="groupName" 时生效, ...
- 全栈开发工程师微信小程序-中
全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator 页面链接 target 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram url 当前小程序内的跳转链 ...
- 全栈开发工程师微信小程序-下
app.json { "pages": ["pages/index/index"] } index.wxml <text>Hello World&l ...
- 全栈之路-微信小程序-SKU开发(代码)
SKU开发是小程序中最难的一部分,思路在分析中已经记录过了,这里主要看一下代码的实现,感觉老师写的代码太棒了,很优雅!主要想记录一下写代码的思路,对面向对象编程的实践. 一.代码结构的分析 1.说明几 ...
- 全栈之路-微信小程序-SKU开发(分析)
SKU是整个小程序中最难完成的部分了,好好记录一下SKU,主要是想记录一下 从最开始拿到这个业务到最终完成这个功能期间的思考过程,至于代码什么的,记录也好,不记录也行,再看! 一.从思路说起 1.SK ...
- 全栈之路-微信小程序-架构总览
第一阶段是用来学习小程序开发的,这个就相当于PC端的网站吧,只不过现在依靠微信强大的流量来将业务搬移到小程序中,对于企业来说,这是一种很好的发展方向,既减少了开发成本,又减少了推广成本,小程序是很被人 ...
随机推荐
- linux 7 更改主机名
1.在/etc/default/grub 中的GRUB_CMDLINE_LINUX 加上两条参数 #vim /etc/default/grub GRUB_CMDLINE_LINUX="cr ...
- golang项目:goa和micro
https://github.com/goadesign/goa http://www.cnblogs.com/zhangqingping/p/5531171.html https://github. ...
- 后台跨域(CORS)
解决跨域问题 一.为什么会有跨域问题? 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截. 二.解决跨域问题的两种方式 JS ...
- 3wwang的2019计划
1.探究osg类生物----系列(35天) 已完结 [置顶]探索未知种族之osg类生物[目录]www.3wwang.cn 2.osg中的设计模式---系列(15天) 正在创作... osg中抽象工厂 ...
- android studio 模拟器不能使用的解决方案
1.安装模拟器的时候 AS提示是 VT -x is disable 进入电脑的 bios 系统设置,怎么进入--> 在开机的时候点击F2(华硕电脑,不同电脑方式不同) --在“configura ...
- 感觉还是要学点c才牛逼
2019-04-06 $gcc -o hello hello.c //-o选项用来指定输出文件的文件名. gcc *.c -o hello //使用通配符编译当前目录下的所有c文件 $ gcc - ...
- dubbo-2.5.6优雅停机研究
不优雅的停机: 当进程存在正在运行的线程时,如果直接执行kill -9 pid时,那么这个正在执行的线程被中断,就好像一个机器运行中突然遭遇断电的情况,所导致的结果是造成服务调用的消费端报错,也有可能 ...
- MySQL数据库学习书单/书籍
MySQL数据库学习书单 1.MySQL必知必会(MySQL Crash Course) 豆瓣详情 主要适合前期掌握MySQL,豆瓣评分8.4. 2.高性能MySQL 豆瓣详情 主要适合进阶阅读使 ...
- Java:Copy-On-Write容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...
- eclipse中opencv配置
1.打开Eclipse,Window->preferences 2.进入preferences后,找到Java->Build Path->User Libraries,点击New 在 ...