微信小程序3缓存与循环

微信小程序3缓存与循环,第1张

swiper组件的常用属性

属性     类型 默认值 说明

indicator-dots     boolean false 是否显示面板指示点

indicator-color    color rgba(0,0,0,3) 指示点颜色

indicator-active-color   color #O000oo 当前选中的指示点颜色

autoplay     boolean false 是否自动切换

interval      number 5000    自动切换时间间隔

circular     boolean false    是否采用衔接滑动`

二、按钮

通过type属性指定按钮颜色类型

<button>普通按钮</button>

<button type="primary">主色调按钮</button>

<button type="warn">警告按钮</button>

size="mini" 小尺寸按钮同一行

<button size="mini">普通按钮</button>

<button type="primary" size="mini">主色调按钮</button>

<button type="warn" size="mini">警告按钮</button>

plain 镂空按钮

<button plain>普通按钮</button>

<button type="primary" plain>主色调按钮</button>

<button type="warn" plain>警告按钮</button>

  data: {

    inputVal : '',

    storageVal:''

  },

  bindkeyInput: function (e) {

    let {detail: { value }  } = e;

    thissetData({

      inputVal: value

    })

  },

  cun:function(){

    let arr=['name','age','sex'];

    let i =Mathfloor(Mathrandom()(2-0+1)+0);

    / 异步取缓存的值必须在回调函数里面取 同的直接=即可 /

    wxsetStorage({

      key:'myname',

      data:'我是小超人',

      success:function(){

        consolelog('我成功了');

      }

    })

    / 同步的存起来 /

    / 相同的key会把值覆盖 /

    / wxsetStorageSync('username', thisdatainputVal) /

    wxsetStorageSync(arr[i],thisdatainputVal)

  },

  qu:function(){

    thissetData({

      / 同步的取缓存的值 /

      / 浏览器中的缓存存进去的都是字符串,小程序里的缓存可以存字符串,数组和对象 /

      / undefined存进去是字符串 null存进去是null类型 Symbol存进去是Symbol类型 /

      / storageVal:wxgetStorageSync('username') /

       storageVal:wxgetStorageSync('sex')

    })

  },

  delSex:function(){

    / 同步删除指定的某一个缓存 /

    wxremoveStorageSync('sex')

  },

  delAll:function(){

    wxclearStorageSync()

  },

在app对象中,创建一个存储对象,然后把这段数据保存到全局对象app的这个存储对象中,到了另一个页面,通过钩子函数show(),或者onLoad(),取出保存在app中的数据,其中onload只能在页面前进触发,不能是页面后退。

如果是页面跳转,可以把数据卸载页面url的后面,页面跳转以后,到onLoad(options)=>{

consolelog(options)},你的数据就保存在options中,这种方法必须要页面跳转,而且不能是页面回退,只能是页面前进

通过wxsetStorageSync()保存数据到缓存,但是这种方法不推荐,缓存空间有限,不要用来做这种临时数据的存储。

开发前准备:

注册小程序帐号 绑定开发者

登录微信公众平台小程序,进入用户身份- 开发者,新增绑定开发者。

已认证的小程序可以绑定不多于20个开发者。未认证的小程序可以绑定不多于10个开发者。

获取AppID下载并安装开发者工具

下载完成后,使用管理员或者绑定的开发者微信号扫码登录。

一个微信小程序

创建项目

我们需要通过开发者工具,来完成小程序创建和代码编辑。

开发者工具安装完成后,打开并使用微信扫码登录。选择创建“项目”,填入上文获取到的 AppID ,设置一个本地项目的名称(非小程序名称),比如“我的第一个项目”,并选择一个本地的文件夹作为代码存储的目录,点击“新建项目”就可以了。

为方便初学者了解微信小程序的基本代码结构,在创建过程中,如果选择的本地文件夹是个空文件夹,开发者工具会提示,是否需要创建一个 quick start 项目。选择“是”,开发者工具会帮助我们在开发目录里生成一个简单的 demo。

项目创建成功后,我们就可以点击该项目,进入并看到完整的开发者工具界面,点击左侧导航,在“编辑”里可以查看和编辑我们的代码,在“调试”里可以测试代码并模拟小程序在微信客户端效果,在“项目”里可以发送到手机里预览实际效果。

编写代码创建小程序实例

点击开发者工具左侧导航的“编辑”,我们可以看到这个项目,已经初始化并包含了一些简单的代码文件。最关键也是必不可少的,是 appjs、appjson、appwxss 这三个。其中,js后缀的是脚本文件,json后缀的文件是配置文件,wxss后缀的是样式表文件。微信小程序会读取这些文件,并生成小程序实例。

//App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。

App({

onLaunch: function() {

// Do something initial when launch

},

onShow: function() {

// Do something when show

},

onHide: function() {

// Do something when hide

},

globalData: 'I am global data'

})

appjs是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API。

//appjs

App({

onLaunch: function() {

//调用API从本地缓存中获取数据

var logs = wxgetStorageSync('logs') || []

logsunshift(Datenow())

wxsetStorageSync('logs', logs)

},

getUserInfo: function(cb) {

var that = this;

if (thisglobalDatauserInfo) {

typeof cb == "function" && cb(thisglobalDatauserInfo)

} else {

//调用登录接口

wxlogin({

success: function() {

wxgetUserInfo({

success: function(res) {

thatglobalDatauserInfo = resuserInfo;

typeof cb == "function" && cb(thatglobalDatauserInfo)

}

})

}

});

}

},

globalData: {

userInfo: null

}

})

appjson 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。

{

"pages": [

"pages/index/index",

"pages/logs/logs"

],

"window": {

"backgroundTextStyle": "light",

"navigationBarBackgroundColor": "#fff",

"navigationBarTitleText": "WeChat",

"navigationBarTextStyle": "black"

}

}

appwxss 是整个小程序的公共样式表。我们可以在页面组件的 class 属性上直接使用 appwxss 中声明的样式规则。

/appwxss/

container {

height: 100%;

display: flex;

flex-direction: column;

align-items: center;

justify-content: space-between;

padding: 200rpx 0;

box-sizing: border-box;

}

创建一个人品计算器小页面

在这个教程里,我们有1个页面,即欢迎页,他们都在 pages 目录下。微信小程序中的每一个页面的路径+页面名都需要写在 appjson 的 pages 中,且 pages 中的第一个页面是小程序的首页。

每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:indexjs、indexwxml、indexwxss、indexjson。js后缀的文件是脚本文件,json后缀的文件是配置文件,wxss后缀的是样式表文件,wxml后缀的文件是页面结构文件。

indexwxml 是页面的结构文件:

<!--indexwxml-->

<text class='title'>人品查看器</text>

<text class='hint'>为您计算当下人品</text>

<button bindtap="setScore" class='check'>点击查询</button>

<view class="container">

<view bindtap="bindViewTap" class="userinfo">

<image class="userinfo-avatar" src="{{userInfoavatarUrl}}" background-size="cover"></image>

<text class="userinfo-nickname">{{userInfonickName}}</text>

<text class='score'>{{score}}</text>

<text class='info'>{{info}}</text>

</view>

</view>

本例中使用了<view/>、<image/>、<text/>来搭建页面结构,绑定数据和交互处理函数。

indexjs 是页面的脚本文件,在这个文件中我们可以监听并处理页面的生命周期函数、获取小程序实例,声明并处理数据,响应页面交互事件等。

//indexjs

//获取应用实例

var app = getApp()

Page({

data: {

score: 0,

userInfo: {}

},

//事件处理函数

setScore: function() {

var score = 60+parseInt(Mathrandom()40);

var infos = [

'哇,你当下神仙附体,快去勾搭妹子',

'太阳天空照,花儿对我笑',

'喂,你是猪吗?离我远点'

];

var info;

if(score>90){

info=infos[0];

}else if(score>75){

info=infos[1];

}else{

info=infos[2];

}

thissetData({

score:score,

info:info

})

},

onLoad: function () {

consolelog('onLoad')

var that = this

//调用应用实例的方法获取全局数据

appgetUserInfo(function(userInfo){

//更新数据

thatsetData({

userInfo:userInfo

})

})

}

})

indexwxss 是页面的样式表:

/indexwxss/

title{

font-size: 30px;

display: block;

padding: 10px;

font-weight: bold;

text-align: center;

}

hint{

display: block;

padding: 10px 20px;

color:#999;

text-align: center;

}

check{

width: 100px;

}

userinfo {

display: flex;

flex-direction: column;

align-items: center;

}

userinfo-avatar {

width: 128rpx;

height: 128rpx;

margin: 20rpx;

border-radius: 50%;

}

userinfo-nickname {

color: #aaa;

text-align: center;

display: block

}

页面的样式表是非必要的。当有页面样式表时,页面的样式表中的样式规则会层叠覆盖 appwxss 中的样式规则。如果不指定页面的样式表,也可以在页面的结构文件中直接使用 appwxss 中指定的样式规则。

indexjson 是页面的配置文件:

页面的配置文件是非必要的。当有页面的配置文件时,配置项在该页面会覆盖 appjson 的 window 中相同的配置项。如果没有指定的页面配置文件,则在该页面直接使用 appjson 中的默认配置。

运行结果如下:

手机预览

开发者工具左侧菜单栏选择"项目",点击"预览",扫码后即可在微信客户端中体验。

手机端效果

以上就是关于微信小程序3缓存与循环全部的内容,包括:微信小程序3缓存与循环、小程序怎样把一个页面data里的变量同步到另外一个页面上去、微信小程序如何开发呢,有没有知道的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9711792.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存