原創經驗:微信小程序開發總結

學習時間不短了.今天公司不加班總結一下個人開發經驗吧,如下都是我認爲很重要的總結哦!寫下來讓我本身也記得更清楚,同時但願能夠幫助到有須要的同窗哦php

一: 參數傳值的方法

1: data-idhtml

咱們能夠給HTML元素添加data-*屬性來傳遞咱們須要的值,使用方法說明:
(1)設置data-idjson

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

(2): 取值 + 傳值api

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-*屬性中不能夠存放對象app

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

使用方法說明:
(1)設置id
<view bindtap=「playTap" id="{{modle.id}}">
(2)取值
經過e.currentTarget.id獲取設置的id的值,而後經過設置全局對象的方式來傳遞數值學習

3: 在navigator中添加參數傳值
使用方法說明
(1)傳值:在navigator的屬性url後拼接?id(參數名字)=要傳遞的值 (若是多個參數用&分開 &name=value&.......)fetch

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

(2)取值:ui

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 = 2;

做者:ntt123456
來自:來源地址

相關文章
相關標籤/搜索