国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序頁面傳值實例分析

2019-11-19 16:47:47
字體:
來源:轉載
供稿:網友

微信小程序頁面傳值實例分析

最近組里開發小程序,遇到了一個前端亙古不變的話題:頁面傳值

剛開始使用路徑傳參解決,但是眾所周知:

各瀏覽器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個字符,超過最大長度后無法提交。

所以覺得不靠譜。

研究了一下官網,發現有兩種方式可以“比較優雅”地干這件事,當然不能和vuex/flux比。

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';},

效果:


2.使用模板

根據官方介紹如下:

首先定義模板,使用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' }}})

這樣就一下解決了頁面傳值問題

后記:既然小程序可以使用ES6的所有特性,那么那個var that=this又是什么鬼?為何不能用箭頭函數解決作用域問題?回頭再試試。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威海市| 芒康县| 新平| 盐源县| 和平县| 沁源县| 龙州县| 雷波县| 南丰县| 文安县| 禹城市| 龙川县| 佛教| 罗江县| 阳信县| 安塞县| 平舆县| 黄大仙区| 汉川市| 望谟县| 托克逊县| 昌邑市| 高州市| 邻水| 东莞市| 莱芜市| 杭锦旗| 巴里| 自贡市| 牟定县| 湘潭市| 和硕县| 富源县| 尚义县| 桐梓县| 深泽县| 都安| 玛沁县| 麻江县| 安义县| 三明市|