微信小程序之页面传值详解

互联网 17-5-22
最近组里开发小程序,遇到了一个前端亘古不变的话题:页面传值刚开始使用路径传参解决,但是众所周知:

各浏览器HTTP Get请求URL最大长度并不相同,几类常用浏览器最大长度及超过最大长度后提交情况如下:IE6.0 :url最大长度2083个字符,超过最大长度后无法提交。IE7.0 :url最大长度2083个字符,超过最大长度后仍然能提交,但是只能传过去2083个字符。firefox 3.0.3 :url最大长度7764个字符,超过最大长度后无法提交。Opera 9.52 :url最大长度7648个字符,超过最大长度后无法提交。Google Chrome 2.0.168 :url最大长度7713个字符,超过最大长度后无法提交。

  1. 使用全局变量在项目app.js中定义globalData

    App({   globalData:{   userInfo:'angeladaddy'  }  });

    在需要的地方使用:

    getGlobalVar:function(){   var that=this;  that.setData({    globalvar_str:JSON.stringify(getApp().globalData)  })   }

    当然也可以随时赋值:

    onLoad:function(options){   getApp().globalData.userInfo+=' is an awesome man';  },

    效果:

Paste_Image.png

首先定义模板,使用name属性

<template name="msgItem">    <view>      <text> {{index}}: {{msg}} </text>      <text> Time: {{time}} </text>    </view>  </template>

接着,使用模板

  • 使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:

    <template is="msgItem" data="{{...item}}"/>

    给item赋值以显示模板数据

    Page({  data: {   item: {     index: 0,     msg: 'this is a template',     time: '2016-09-15'   }  }  })

这样就“duang~~~”的一下解决了页面传值问题

后记:既然小程序可以使用ES6的所有特性,那么那个var that=this又是什么鬼?为何不能用箭头函数解决作用域问题?回头再试试。

【相关推荐】

1. 微信小程序完整源码下载

2. 微信小程序游戏类demo挑选不同色块

3. 微信小闹钟:对话实现

以上就是微信小程序之页面传值详解的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:HTML5实现图片压缩上传功能的深度解析

相关资讯