国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序 數據封裝,參數傳值等經驗分享

2019-11-19 18:03:47
字體:
來源:轉載
供稿:網友

微信小程序開發總結:

一: 參數傳值的方法

1: data-id

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

(1)設置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-注意事項:data-名稱不能有大寫字母,曾經我就因為大寫了一個字母,找了半天的才發現這個錯誤..data-*屬性中不可以存放對象

2: 設置id 的方法標識來傳值

使用方法說明:

(1)設置id

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

(2)取值

通過e.currentTarget.id獲取設置的id的值,然后通過設置全局對象的方式來傳遞數值

3: 在navigator中添加參數傳值

使用方法說明

(1)傳值:在navigator的屬性url后拼接?id(參數名字)=要傳遞的值 (如果多個參數用&分開 &name=value&.......)

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

(2)取值:

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

二:數據請求封裝

1.將所有的接口放在統一的js文件中并導出

const api = {  interface1: 'https://........',   interface2: 'https://.......',   interface3: 'https://....',   .....}module.exports = api;

2:在app.js中創建封裝請求數據的方法

 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: 在子頁面中調用封裝的方法請求數據

import API from "../../api/api.js";const app = getApp();const conf = {  data:{    title:'正在拼命加載中...',    loadding:true  },  onLoad (){    app.fetch(API.hot,{},(err,data) => {    })  },

三:使用模板(發現模板真是個好東西哦!)

1:定義模板:name設置模板的名字

定義模板

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

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

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

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

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

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

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

五:對象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);

對象的所有鍵名都是字符串,所以加不加引號都可以,如果鍵名是數值,會被自動轉為字符串但是,如果鍵名不符合標識名的條件(比如第一個字符為數字,或者含有空格或運算符),也不是數字,則必須加上引號,否則會報錯6 讀取屬性

obj.name || obj['name']

注意: 數值鍵名不能使用點運算符(因為會被當成小數點),只能使用方括號運算符。7 檢查變量是否聲明

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

8 in 運算符用于檢查對象是否包含某個屬性,如果包含返回true,否則返回false

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

9 for … in 循環用來遍歷一個對象的全部屬性

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

10 with 語句作用: 操作同一個對象的多個屬性時,提供一些書寫的方便

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼南县| 武义县| 扶沟县| 涿鹿县| 闽侯县| 洞口县| 攀枝花市| 新宾| 墨玉县| 湘潭县| 大宁县| 澎湖县| 昌平区| 抚宁县| 红河县| 莱州市| 曲水县| 五台县| 榆林市| 两当县| 大方县| 普兰店市| 兰溪市| 桦南县| 宜宾市| 内江市| 张家港市| 巴东县| 全州县| 曲阳县| 洪雅县| 长宁县| 三门县| 芮城县| 扶余县| 南召县| 茶陵县| 自治县| 进贤县| 桑日县| 雅安市|