微信小程序頁面?zhèn)髦祵嵗治?/h1>
更新時間:2017年04月19日 10:58:47 作者:Angeladaddy
這篇文章主要介紹了微信小程序頁面?zhèn)髦祵嵗治龅南嚓P資料,需要的朋友可以參考下
微信小程序頁面?zhèn)髦祵嵗治?/strong>
最近組里開發(fā)小程序,遇到了一個前端亙古不變的話題:頁面?zhèn)髦?br />
剛開始使用路徑傳參解決,但是眾所周知:
各瀏覽器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個字符,超過最大長度后無法提交。
所以覺得不靠譜。
研究了一下官網(wǎng),發(fā)現(xiàn)有兩種方式可以“比較優(yōu)雅”地干這件事,當然不能和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.使用模板
根據(jù)官方介紹如下:
首先定義模板,使用name屬性
<template name="msgItem">
<view>
<text> {{index}}: {{msg}} </text>
<text> Time: {{time}} </text>
</view>
</template>
接著,使用模板
使用 is 屬性,聲明需要的使用的模板,然后將模板所需要的 data 傳入,如:
<template is="msgItem" data="{{...item}}"/>
給item賦值以顯示模板數(shù)據(jù)
Page({
data: {
item: {
index: 0,
msg: 'this is a template',
time: '2016-09-15'
}
}
})
這樣就一下解決了頁面?zhèn)髦祮栴}
后記:既然小程序可以使用ES6的所有特性,那么那個var that=this又是什么鬼?為何不能用箭頭函數(shù)解決作用域問題?回頭再試試。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:
相關文章
-
Server-sent?events實時獲取服務端數(shù)據(jù)技術(shù)詳解
這篇文章主要為大家介紹了Server-sent?events實時獲取服務端數(shù)據(jù)技術(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪 2023-02-02
-
微信小程序 跳轉(zhuǎn)傳參數(shù)與傳對象詳解及實例代碼
這篇文章主要介紹了微信小程序 跳轉(zhuǎn)傳參數(shù)與傳對象詳解及實例代碼的相關資料,需要的朋友可以參考下 2017-03-03
最新評論
微信小程序頁面?zhèn)髦祵嵗治?/strong>
最近組里開發(fā)小程序,遇到了一個前端亙古不變的話題:頁面?zhèn)髦?br />
剛開始使用路徑傳參解決,但是眾所周知:
各瀏覽器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個字符,超過最大長度后無法提交。
所以覺得不靠譜。
研究了一下官網(wǎng),發(fā)現(xiàn)有兩種方式可以“比較優(yōu)雅”地干這件事,當然不能和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.使用模板
根據(jù)官方介紹如下:
首先定義模板,使用name屬性
<template name="msgItem"> <view> <text> {{index}}: {{msg}} </text> <text> Time: {{time}} </text> </view> </template>
接著,使用模板
使用 is 屬性,聲明需要的使用的模板,然后將模板所需要的 data 傳入,如:
<template is="msgItem" data="{{...item}}"/>
給item賦值以顯示模板數(shù)據(jù)
Page({ data: { item: { index: 0, msg: 'this is a template', time: '2016-09-15' } } })
這樣就一下解決了頁面?zhèn)髦祮栴}
后記:既然小程序可以使用ES6的所有特性,那么那個var that=this又是什么鬼?為何不能用箭頭函數(shù)解決作用域問題?回頭再試試。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Server-sent?events實時獲取服務端數(shù)據(jù)技術(shù)詳解
這篇文章主要為大家介紹了Server-sent?events實時獲取服務端數(shù)據(jù)技術(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02微信小程序 跳轉(zhuǎn)傳參數(shù)與傳對象詳解及實例代碼
這篇文章主要介紹了微信小程序 跳轉(zhuǎn)傳參數(shù)與傳對象詳解及實例代碼的相關資料,需要的朋友可以參考下2017-03-03