原创履历:微信小顺序开辟总结

进修时候不短了.本日公司不加班总结一下我的开辟履历吧,以下都是我以为很主要的总结哦!写下来让我本身也记得更清晰,同时愿望能够协助到有须要的同砚哦

一: 参数传值的要领

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

作者:ntt123456
来自:泉源地点

    原文作者:扶桑木下
    原文地址: https://segmentfault.com/a/1190000008051479
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞