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