微信野心越來越大,如今已經(jīng)從開始簡(jiǎn)單的聊天工具發(fā)展成了一個(gè)互聯(lián)網(wǎng)生態(tài)系統(tǒng),網(wǎng)羅了目前各大互聯(lián)網(wǎng)平臺(tái)所具備的功能,最近IOS端微信上線的“搜一搜”和“看一看”更加證實(shí)了這一點(diǎn),直接看下面這張圖吧: 好了, ...
微信野心越來越大,如今已經(jīng)從開始簡(jiǎn)單的聊天工具發(fā)展成了一個(gè)互聯(lián)網(wǎng)生態(tài)系統(tǒng),網(wǎng)羅了目前各大互聯(lián)網(wǎng)平臺(tái)所具備的功能,最近IOS端微信上線的“搜一搜”和“看一看”更加證實(shí)了這一點(diǎn),直接看下面這張圖吧:
好了,今天繼續(xù)給大家分享這個(gè)牛逼的“削蘋果”的小程序的相關(guān)知識(shí)。
一、使用本地存儲(chǔ)時(shí)可以直接存儲(chǔ)JSON,而無(wú)需先轉(zhuǎn)成字符串
我們都知道,在HTML5中使用localStorage不能直接存儲(chǔ)JSON格式數(shù)據(jù),而是需要先通過JSON.stringify()將其轉(zhuǎn)化成String格式的數(shù)據(jù),這樣才能存入到本地存儲(chǔ)中。然而,小程序則不同,可以說更加貼心了,直接使用wx.setStorageSync()就能存儲(chǔ)各種格式數(shù)據(jù),當(dāng)然也包括JSON,而不需要進(jìn)行任何轉(zhuǎn)化。
比如:
//html版
var obj = {
a: 666,
b: 'haha'
};
localStorage.setItem('obj',obj);
console.log(localStorage.getItem('obj')); // [object Object]
localStorage.setItem('obj',JSON.stringify(obj));
console.log(localStorage.getItem('obj')); // {"a":666,"b":"haha"} 注:此處獲得的只是個(gè)字符串,如需轉(zhuǎn)換為JSON格式,需要使用JSON.parse()方法轉(zhuǎn)換。
//小程序版
var obj = {
a: 666,
b: 'haha'
};
wx.setStorageSync('obj', obj);
console.log(wx.getStorageSync('obj')); // {"a":666,"b":"haha"} 注:此處獲得的是個(gè)JSON數(shù)據(jù)
二、不支持 標(biāo)簽,但標(biāo)簽支持轉(zhuǎn)義字符 “\” ,所以可以使用 “\n” 讓文字換行
可能是習(xí)慣了寫網(wǎng)頁(yè)吧,在剛開始接觸小程序開發(fā)的時(shí)候總是會(huì)習(xí)慣性地使用 標(biāo)簽來?yè)Q行,后面查文檔才發(fā)現(xiàn)并沒有這個(gè)標(biāo)簽,但是可以使用 “\n” 來?yè)Q行。但是需要注意的是,必須在標(biāo)簽中使用 “\n” 才能有效換行哦~~
比如:
<view>這是第一行\(zhòng)n這是第二行</view> <!--沒有換行-->
<text>這是第一行\(zhòng)n這是第二行</text> <!--成功換行-->
三、wx.navigateTo 和 wx.redirectTo 不允許跳轉(zhuǎn)到 tabbar 頁(yè)面,只能用 wx.switchTab 跳轉(zhuǎn)到 tabbar 頁(yè)面
關(guān)于 wx.switchTab 的功能,小程序開發(fā)文檔是這樣描述的:
跳轉(zhuǎn)到 tabBar 頁(yè)面,并關(guān)閉其他所有非 tabBar 頁(yè)面
若某頁(yè)面在app.json中配置為tabBar頁(yè)面,當(dāng)從其他頁(yè)面跳轉(zhuǎn)到該頁(yè)面時(shí)必須使用 wx.switchTab
比如:
//app.json
{
"tabBar": {
"list": [
{
"pagePath": "index",
"text": "首頁(yè)"
},
{
"pagePath": "other",
"text": "其他"
}
]
}
}
//js
wx.switchTab({ //跳轉(zhuǎn)至index頁(yè)面
url: '/index'
})
四、分享的頁(yè)面如果需要參數(shù)就一定要傳參,并且path要寫app.json中所配置的絕對(duì)路徑
在做小程序分享這部分的時(shí)候,一開始經(jīng)常會(huì)遇到頁(yè)面不存在的情況,后面才發(fā)覺一般遇到這種情況都是因?yàn)槭褂?onShareAppMessage() 方法時(shí)path沒有寫對(duì),這時(shí)只需要將app.json中配置該頁(yè)面的路徑直接復(fù)制過來就好啦!
// app.json
{
"pages":[
"pages/test/test" // ①
]
}
// test.js
onShareAppMessage: function () {
return {
title: '自定義轉(zhuǎn)發(fā)標(biāo)題',
path: 'pages/test/test?id=123', //此處所寫路徑與 ① 處相同,若頁(yè)面需傳參數(shù),記得把參數(shù)帶上
}
},
結(jié)束語(yǔ): 在小程序開發(fā)過程中遇到的坑還是挺多的,在此就先分享這些了,若文中有不對(duì)的地方,還請(qǐng)各位大神多多指正哦~~