每日一彈:小程序商城購(gòu)物車(chē)

1.索引

1.對(duì)象索引是屬性名

2.數(shù)組索引是下標(biāo)

3.多重索引,典型的json數(shù)據(jù)就是

2.全選聯(lián)動(dòng)按鈕

1.數(shù)據(jù)渲染復(fù)選框的布爾值

3.動(dòng)態(tài)選中樣式

1.在網(wǎng)頁(yè)中的應(yīng)有場(chǎng)景非常多。有tabbar、自定義復(fù)選框等。

2.需要改變的樣式有:選中圖片、背景色、字體顏色、邊框顏色等。

4.promise封裝網(wǎng)絡(luò)請(qǐng)求為模塊工具


function getStorage(key){//獲取數(shù)據(jù)緩存

? return new Promise(function (resolve, reject) {

? ? wx.getStorage({

? ? ? key: key,

? ? ? success: resolve,

? ? ? fail: reject

? ? });

? });

};

function getNetJson(url, params){//發(fā)送數(shù)據(jù)請(qǐng)求

? ? return new Promise(function(resolve, reject){

? ? ? wx.request({

? ? ? ? url: url,

? ? ? ? data: params,

? ? ? ? header: {

? ? ? ? ? 'content-type': 'json' // 默認(rèn)值

? ? ? ? },

? ? ? ? success:resolve,

? ? ? ? fail: reject

? ? ? });

? ? });

};

module.exports = {//暴露模塊接口

? getStorage,

? getNetJson

};

var app = getApp();//獲取頂層實(shí)例

app.wxapis.getStorage('board_data').then()//調(diào)用模塊接口

const wxapis = require('./utils/wxapis.js');//獲取模塊(app.js)

App({

? wxapis

})

getCache() {//用于判斷是否有無(wú)緩存

? ? return new Promise((resolve, reject) => {

? ? ? app.wxapis.getStorage('board_data').then((storage_res) => {

? ? ? ? // console.log(storage_res);

? ? ? ? if (storage_res.data.expires < Date.now()) {

? ? ? ? ? // 因?yàn)橐呀?jīng)過(guò)期,所以你調(diào)用的結(jié)果是null

? ? ? ? ? return resolve(null);

? ? ? ? } else {

? ? ? ? ? return resolve(storage_res.data.all_info);

? ? ? ? }

? ? ? }).catch(function (err) {

? ? ? ? return resolve(null);

? ? ? });

? ? });

? },

?getNetworkData() {?// 用來(lái)獲取請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)

? ? var promises = this.data.all_info.map(function(info){//數(shù)組的map方法返回

? ? ? var url = "https://api.douban.com/v2/movie/" + info.requestUrl;

? ? ? return app.wxapis.getNetJson(url, { count: 10 }).then((res) => {

? ? ? ? console.log('進(jìn)行了一次網(wǎng)絡(luò)請(qǐng)求');

? ? ? ? ? info.movies = res.data.subjects;

? ? ? ? ? return info;

? ? ? });

? ? });

Promise.all(promises).then((infos)=>{//promise解決多條數(shù)據(jù)請(qǐng)求,最大并發(fā)限制是十條

? ? ? console.log(infos);

? ? ? wx.setStorage({

? ? ? ? key: 'board_data',

? ? ? ? data: {

? ? ? ? ? all_info: infos,

? ? ? ? ? expires: Date.now() + 1000 * 60 * 60 * 24

? ? ? ? },

? ? ? });

? ? ? this.setData({

? ? ? ? all_info: infos

? ? ? });

? ? });

? },

onLoad: function (options) {//頁(yè)面加載,判斷是否有緩存。有則獲取,無(wú)則請(qǐng)求

? ? // this.getCache();

? ? this.getCache().then((result) => {

? ? ? if (!result) {

? ? ? ? //沒(méi)結(jié)果

? ? ? ? this.getNetworkData();

? ? ? } else {

? ? ? ? this.setData({

? ? ? ? ? all_info: result

? ? ? ? });

? ? ? }

? ? }).catch((err) => {

? ? ? this.getNetworkData();

? ? });

? },

5.跨頁(yè)面?zhèn)髦?/h2>

1 . 用 navigator標(biāo)簽傳值或 wx.navigator

2.實(shí)例地址:http://www.lxweimin.com/p/0135769db89c

6.tabBar欄中頁(yè)面?zhèn)髦?/h2>

a.在app.js中定義一個(gè)全局屬性,他的屬性值可用來(lái)保存全局?jǐn)?shù)據(jù)。

b.用全局屬性在onload函數(shù)中進(jìn)行傳值

7.列表頁(yè)跳轉(zhuǎn)詳情頁(yè)傳id值

a.bindtap結(jié)合data-*把當(dāng)前對(duì)象的id值獲取到

b.navigator的url拼接參數(shù)傳id值

8.Date.now()和new Date()的區(qū)別

1. Date.now()是構(gòu)造函數(shù)的原型對(duì)象方法???

2.new Date()是構(gòu)造函數(shù)實(shí)例化一個(gè)對(duì)象???

9.深拷貝&淺拷貝

1.有時(shí)候需要深拷貝一份給另外一個(gè)變量,不改變之前指針對(duì)應(yīng)的對(duì)象

2.此時(shí)就需要用到深拷貝。

3.數(shù)組的filter返回一個(gè)新數(shù)組,不改變?cè)瓉?lái)的數(shù)組結(jié)構(gòu),應(yīng)該是深拷貝。

4. 在js中,數(shù)組和對(duì)象的復(fù)制如果使用=號(hào)來(lái)進(jìn)行復(fù)制,那只是淺拷貝

5.數(shù)組的深拷貝方法

? ? ? ? ? ? - ? ?slice(0)

? ? ? ? ? ? -???? arr.concat()

? ? ? ? ? ? - ? ?for循環(huán),依次push到一個(gè)空對(duì)象中

? ? ? ? ? ? - ? ?es6擴(kuò)展運(yùn)算符實(shí)現(xiàn): var arr = [1,2,3,4,5] ? ? ? ? ? var [ ...arr2 ] = arr

6.對(duì)象的深拷貝方法

? ? ? ? ? ? - 用到再說(shuō)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,915評(píng)論 18 139
  • 來(lái)源:NumPy Tutorial - TutorialsPoint 譯者:飛龍 協(xié)議:CC BY-NC-SA 4...
    布客飛龍閱讀 32,980評(píng)論 6 98
  • 一根魚(yú)刺 在我焦急的等待下,一盤(pán)紅燒魚(yú)端上來(lái)了??匆?jiàn)綠生生的蔥絲,聞著香噴噴的烤魚(yú)...
    六年級(jí)六班張銘鈺閱讀 233評(píng)論 0 0
  • 苗郡小課堂①① 學(xué)習(xí)只為遇見(jiàn)更好的自己 今天學(xué)習(xí)如何補(bǔ)腎,養(yǎng)腎,讓自己精力旺盛,青春永駐[呲牙] 昨天有講到腎主精...
    e450bf54b0a7閱讀 194評(píng)論 0 0
  • 小學(xué)時(shí)代的兒童詩(shī)歌,偶然讀到,記錄于此 我們揮手送走了夕陽(yáng), 晚風(fēng)吹來(lái)陣陣花香。 野地里搭起白色的帳篷, 安排好少...
    馨硯閱讀 1,124評(píng)論 0 1