前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全栈开发工程师微信小程序-上

全栈开发工程师微信小程序-上

作者头像
达达前端
发布2019-07-03 10:05:49
7410
发布2019-07-03 10:05:49
举报
文章被收录于专栏:达达前端

全栈开发工程师微信小程序-上

实现swiper组件

swiper 滑块视图容器。

代码语言:javascript
复制
indicator-dots 是否显示面板指示点 false
indicator-color 指示点颜色
indicator-active-color 当前选中的指示点颜色
autoplay 是否自动切换 false
current 当前所在滑块的 index
interval 自动切换时间间隔
duration 滑动动画时长
circular 是否采用衔接滑动 false 
vertical 滑动方向是否为纵向 false
display-multiple-items 同时显示的滑块数量
代码语言:javascript
复制
<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>
代码语言:javascript
复制
// 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
代码语言:javascript
复制
// 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
    })
  }
})

显示:

效果

代码语言:javascript
复制
page {
 height: 100%;
 background-color: #f0f0f0;
}

缓存本地数据

wx.setStorage(Object object)

将数据存储在本地缓存中指定的 key

单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB

代码语言:javascript
复制
key 本地缓存中指定的 key
data 需要存储的内容
只支持原生类型、Date、及能够通过JSON.stringify序列化的对象

wx.setStorage({
  key: 'key',
  data: 'value'
})

try {
  wx.setStorageSync('key', 'value')
} catch (e) { }
代码语言:javascript
复制
onLoad: function (options) {
}

onLoad(options) {
}

wx.getStorage(Object object)

从本地缓存中异步获取指定key的内容

代码语言:javascript
复制
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
}

引用样式

代码语言:javascript
复制
@import "   .wxss";

页面跳转

代码语言:javascript
复制
<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 提示框

代码语言:javascript
复制
title   提示的内容
mask 是否显示透明蒙层,防止触摸穿透

wx.showLoading({
  title: '加载中',
})

setTimeout(function () {
  wx.hideLoading()
}, 2000)

wx.hideLoading是隐藏加载提示的界面交互API wx.showLoading是显示加载提示的API

代码语言:javascript
复制
template 声明标签
name 用于模板名称

<import src="list"/>
<template is="list"/>

刷新功能

Page.onPullDownRefresh() 监听该页面用户下拉刷新事件

代码语言:javascript
复制
wx.startPullDownRefresh()

wx.stopPullDownRefresh()

代码语言:javascript
复制
Page({
  onPullDownRefresh: function(){
    wx.stopPullDownRefresh()
  }
})

navigationBarTitleText代表小程序的标题.

wx:for是列表渲染标签,默认当前循环项的变量名为item.wx:key用于在动态列表渲染中保存子项的特征和状态.

使用wx.getStorageSync,和wx.getStorage,前者是同步调用,后者是异步调用.前者调用后可以返回结果,后者需要在回调函数中获取结果.

代码语言:javascript
复制
onLoad(options){
 var a = wx.getStorageSync('key');
}

wx.getStorageSync(key)是小程序同步缓存API,有Sync字样,都是同步API,缓存获取可能会失败,一般是将同步代码放在try catch代码.

冒泡事件

bind方式绑定的事件具有冒泡属性,

flex 属性

代码语言:javascript
复制
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性
代码语言:javascript
复制
默认值:    0 1 auto
代码语言:javascript
复制
flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;

flex:1 详解

代码语言:javascript
复制
flex 是 flex-grow、flex-shrink、flex-basis的缩写
代码语言:javascript
复制
 flex 的默认值是 0 1 auto
代码语言:javascript
复制
当 flex 取值为 none,则计算值为 0 0 auto
代码语言:javascript
复制
当 flex 取值为 auto,则计算值为 1 1 auto

flex:1 代表什么?

代码语言:javascript
复制
flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto
代码语言:javascript
复制
auto (1 1 auto) 和 none (0 0 auto)

效果

代码语言:javascript
复制
display flex | inline-flex
代码语言:javascript
复制
flex-direction row | row-reverse | column | column-reverse
代码语言:javascript
复制
flex-wrap nowrap | wrap | wrap-reverse

效果

效果

效果

案例:

代码语言:javascript
复制
<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

代码语言:javascript
复制
flex: 0 auto
flex: initial flex: 0 1 auto
flex: auto flex: 1 1 auto
flex: none flex: 0 0 auto
代码语言:javascript
复制
justify-content flex-start | flex-end | center | space-between | space-around

效果

代码语言:javascript
复制
align-items flex-start | flex-end | center | baseline | stretch
代码语言:javascript
复制
align-self auto | flex-start | flex-end | center | baseline | stretch

效果

代码语言:javascript
复制
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) 显示当前页面的转发按钮

代码语言:javascript
复制
wx.showShareMenu({
  withShareTicket: true
})

wx.hideShareMenu(OBJECT) 隐藏转发按钮

wx.updateShareMenu(OBJECT) 更新转发属性

代码语言:javascript
复制
wx.updateShareMenu({
  withShareTicket: true,
  success() {
  }
})

wx.getShareInfo(OBJECT) 获取转发详细信息

代码语言:javascript
复制
onShareAppMessage(res) {
 return {
  title: '',
  path: '',
 }
}

如果看了觉得不错

点赞!转发!

达叔小生:往后余生,唯独有你 You and me, we are family ! 90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通 简书博客: 达叔小生 https://www.jianshu.com/u/c785ece603d1

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.01.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现swiper组件
  • 缓存本地数据
  • 引用样式
  • 页面跳转
  • 刷新功能
  • 冒泡事件
  • flex 属性
  • flex
  • 结语
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档