微信小程序數(shù)據(jù)封裝,參數(shù)傳值等經(jīng)驗(yàn)分享

微信小程序開發(fā)總結(jié):

創(chuàng)新互聯(lián)建站擁有10余年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù),對(duì)于網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、成都app軟件開發(fā)公司、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、申請(qǐng)域名等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營(yíng)銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。

一: 參數(shù)傳值的方法

1: data-id

我們可以給HTML元素添加data-*屬性來傳遞我們需要的值,使用方法說明:

(1)設(shè)置data-id

<view class="block" bindtap="playTap" data-id="{{modle.id}}">

(2): 取值 + 傳值

 playTap:function(e) {

    const dataset = e.currentTarget.dataset;

    wx.navigateTo({

     url: '../play/index?id='+ dataset.id

    })

    console.log(dataset.id);

  }

(3):取值

 onLoad:function (param) {

  //頁面初始化

    this.setData({

      currentId:param.id

    })

}

data-注意事項(xiàng):data-名稱不能有大寫字母,曾經(jīng)我就因?yàn)榇髮懥艘粋€(gè)字母,找了半天的才發(fā)現(xiàn)這個(gè)錯(cuò)誤..data-*屬性中不可以存放對(duì)象

2: 設(shè)置id 的方法標(biāo)識(shí)來傳值

使用方法說明:

(1)設(shè)置id

<view bindtap=“playTap" id="{{modle.id}}">

(2)取值

通過e.currentTarget.id獲取設(shè)置的id的值,然后通過設(shè)置全局對(duì)象的方式來傳遞數(shù)值

3: 在navigator中添加參數(shù)傳值

使用方法說明

(1)傳值:在navigator的屬性u(píng)rl后拼接?id(參數(shù)名字)=要傳遞的值 (如果多個(gè)參數(shù)用&分開 &name=value&.......)

<navigator url="../my/my?id={{item.id}}" wx:for="{{modles}}">

(2)取值:

onLoad (params){

    app.fetch(API.detail + params.id,(err,data) => {

    })

  }

二:數(shù)據(jù)請(qǐng)求封裝

1.將所有的接口放在統(tǒng)一的js文件中并導(dǎo)出

const api = {

  interface1: 'https://........',

   interface2: 'https://.......',

   interface3: 'https://....',

   .....

}

module.exports = api;

2:在app.js中創(chuàng)建封裝請(qǐng)求數(shù)據(jù)的方法

 fetch(url,data, callback) {

    wx.request({

      url,

      data: data,

      header: {

        'Content-Type': 'application/json'

      },

      success(res) {

        callback(null, res.data);

      },

      fail(e) {

        callback(e);

      }

    })

  },

3: 在子頁面中調(diào)用封裝的方法請(qǐng)求數(shù)據(jù)

import API from "../../api/api.js";

const app = getApp();

const conf = {

  data:{

    title:'正在拼命加載中...',

    loadding:true

  },

  onLoad (){

    app.fetch(API.hot,{},(err,data) => {

    })

  },

三:使用模板(發(fā)現(xiàn)模板真是個(gè)好東西哦!)

1:定義模板:name設(shè)置模板的名字

定義模板

 <template name="homecell">
  
     <view class="item">
  
    </view>
  
   </template>

(2)使用模板首先引入模板

<import src="../../commonXml/homecell.wxml" /> 

然后使用模板is后寫模板的name..通過data來傳遞需要是數(shù)據(jù)

<template is="homecell" data="{{item}}"></template>

四:Array比較好用的屬性和方法

  • Array.isArray() 方法用來判斷某個(gè)值是否為Array。如果是,則返回 true,否則返回 false。
  • concat() 方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并,組成一個(gè)新的數(shù)組并返回.
  • forEach() 方法對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)(回調(diào)函數(shù))。
  • join() 方法將數(shù)組中的所有元素連接成一個(gè)字符串。
  • keys() 方法返回一個(gè)數(shù)組索引的迭代器。
  • map() 方法返回一個(gè)由原數(shù)組中的每個(gè)元素調(diào)用一個(gè)指定方法后的返回值組成的新數(shù)組
  • pop() 方法刪除一個(gè)數(shù)組中的最后的一個(gè)元素,并且返回這個(gè)元素。
  • push() 方法添加一個(gè)或多個(gè)元素到數(shù)組的末尾,并返回?cái)?shù)組新的長(zhǎng)度(length 屬性值)。
  • toString() 返回一個(gè)字符串,表示指定的數(shù)組及其元素。

五:對(duì)象Object常用方法

1 初始化方法

var obj = [];
var obj = new obj();
var obj = Object.create(null);

2 添加元素的方法

dic[“key”] = “value”;

3 刪除key的方法

delete dic[“key”];

4 清空詞所有條目

dic.clear();

5 刪除

delete dic;

6 查看所有屬性的方法

Object.keys(obj);

對(duì)象的所有鍵名都是字符串,所以加不加引號(hào)都可以,如果鍵名是數(shù)值,會(huì)被自動(dòng)轉(zhuǎn)為字符串但是,如果鍵名不符合標(biāo)識(shí)名的條件(比如第一個(gè)字符為數(shù)字,或者含有空格或運(yùn)算符),也不是數(shù)字,則必須加上引號(hào),否則會(huì)報(bào)錯(cuò)6 讀取屬性

obj.name || obj['name']

注意: 數(shù)值鍵名不能使用點(diǎn)運(yùn)算符(因?yàn)闀?huì)被當(dāng)成小數(shù)點(diǎn)),只能使用方括號(hào)運(yùn)算符。7 檢查變量是否聲明

if(obj.name) || if(obj['name'])

8 in 運(yùn)算符用于檢查對(duì)象是否包含某個(gè)屬性,如果包含返回true,否則返回false

if ( ‘x' in obj) {return 1}

9 for … in 循環(huán)用來遍歷一個(gè)對(duì)象的全部屬性

for (var i in obj) {
console.log(obj);
}

10 with 語句作用: 操作同一個(gè)對(duì)象的多個(gè)屬性時(shí),提供一些書寫的方便

with(obj) {
name1 = 1;
name2 = 2;
}
等同于
obj.name1 = 1;
obj.name2 = 

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

網(wǎng)頁題目:微信小程序數(shù)據(jù)封裝,參數(shù)傳值等經(jīng)驗(yàn)分享
文章起源:http://muchs.cn/article10/gcesgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司關(guān)鍵詞優(yōu)化、全網(wǎng)營(yíng)銷推廣、自適應(yīng)網(wǎng)站網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)