首页 > 微信小程序 > 小程序开发 > 微信小程序数据封装及参数传值等经验总结

微信小程序数据封装及参数传值等经验总结

高洛峰
发布: 2017-03-12 15:50:59
原创
2409 人浏览过

这篇文章主要介绍了微信小程序数据封装及参数传值等经验总结的相关资料,需要的朋友可以参考下

微信小程序开发总结:

一: 参数传值的方法

1: data-id

我们可以给HTML元素添加data-*属性来传递我们需要的值,使用方法说明:

(1)设置data-id


1

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

登录后复制

(2): 取值 + 传值


1

2

3

4

5

6

7

8

9

10

11

12

13

playTap:function(e) {

 

   const dataset = e.currentTarget.dataset;

 

   wx.navigateTo({

 

    url: &#39;../play/index?id=&#39;+ dataset.id

 

   })

 

   console.log(dataset.id);

 

 }

登录后复制

(3):取值


1

2

3

4

5

6

7

8

9

10

11

onLoad:function (param) {

 

  //页面初始化

 

    this.setData({

 

      currentId:param.id

 

    })

 

}

登录后复制

data-注意事项:data-名称不能有大写字母,曾经我就因为大写了一个字母,找了半天的才发现这个错误..data-*属性中不可以存放对象

2: 设置id 的方法标识来传值

使用方法说明:

(1)设置id


1

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

登录后复制

(2)取值

通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值

3: 在navigator中添加参数传值

使用方法说明

(1)传值:在navigator的属性url后拼接?id(参数名字)=要传递的值 (如果多个参数用&分开 &name=value&.......)


1

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

登录后复制

(2)取值:


1

2

3

4

5

6

7

onLoad (params){

 

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

 

    })

 

  }

登录后复制

二:数据请求封装

1.将所有的接口放在统一的js文件中并导出


1

2

3

4

5

6

7

8

9

10

11

12

13

const api = {

 

  interface1: &#39;https://........&#39;,

 

   interface2: &#39;https://.......&#39;,

 

   interface3: &#39;https://....&#39;,

 

   .....

 

}

 

module.exports = api;

登录后复制

2:在app.js中创建封装请求数据的方法


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

fetch(url,data, callback) {

 

   wx.request({

 

     url,

 

     data: data,

 

     header: {

 

       &#39;Content-Type&#39;: &#39;application/json&#39;

 

     },

 

     success(res) {

 

       callback(null, res.data);

 

     },

 

     fail(e) {

 

       callback(e);

 

     }

 

   })

 

 },

登录后复制

3: 在子页面中调用封装的方法请求数据


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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

 

const app = getApp();

 

const conf = {

 

  data:{

 

    title:&#39;正在拼命加载中...&#39;,

 

    loadding:true

 

  },

 

  onLoad (){

 

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

 

    })

 

  },

登录后复制

三:使用模板(发现模板真是个好东西哦!)

1:定义模板:name设置模板的名字

定义模板


1

2

3

4

5

6

7

<template name="homecell">

  

    <view class="item">

  

   </view>

  

  </template>

登录后复制

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


1

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

登录后复制

然后使用模板is后写模板的name..通过data来传递需要是数据


1

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

登录后复制

四:Array比较好用的属性和方法

  • Array.isArray() 方法用来判断某个值是否为Array。如果是,则返回 true,否则返回 false。

  • concat() 方法将传入的数组或非数组值与原数组合并,组成一个新的数组并返回.

  • forEach() 方法对数组的每个元素执行一次提供的函数(回调函数)。

  • join() 方法将数组中的所有元素连接成一个字符串

  • keys() 方法返回一个数组索引的迭代器。

  • map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组

  • pop() 方法删除一个数组中的最后的一个元素,并且返回这个元素。

  • push() 方法添加一个或多个元素到数组的末尾,并返回数组新的长度(length 属性值)。

  • toString() 返回一个字符串,表示指定的数组及其元素。

五:对象Object常用方法

1 初始化方法


1

2

3

var obj = [];

var obj = new obj();

var obj = Object.create(null);

登录后复制

2 添加元素的方法


1

dic[“key”] = “value”;

登录后复制

3 删除key的方法


1

delete dic[“key”];

登录后复制

4 清空词所有条目


1

dic.clear();

登录后复制

5 删除


1

delete dic;

登录后复制

6 查看所有属性的方法


1

Object.keys(obj);

登录后复制

对象的所有键名都是字符串,所以加不加引号都可以,如果键名是数值,会被自动转为字符串但是,如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),也不是数字,则必须加上引号,否则会报错6 读取属性


1

obj.name || obj[&#39;name&#39;]

登录后复制

注意: 数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。7 检查变量是否声明


1

if(obj.name) || if(obj[&#39;name&#39;])

登录后复制

8 in 运算符用于检查对象是否包含某个属性,如果包含返回true,否则返回false


1

if ( ‘x&#39; in obj) {return 1}

登录后复制

9 for … in 循环用来遍历一个对象的全部属性


1

2

3

for (var i in obj) {

console.log(obj);

}

登录后复制

10 with 语句作用: 操作同一个对象的多个属性时,提供一些书写的方便


1

2

3

4

5

6

7

with(obj) {

name1 = 1;

name2 = 2;

}

等同于

obj.name1 = 1;

obj.name2 =

登录后复制

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是微信小程序数据封装及参数传值等经验总结的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
微信小程序
来自于 1970-01-01 08:00:00
0
0
0
微信小程序轮播
来自于 1970-01-01 08:00:00
0
0
0
微信小程序自动补全工具
来自于 1970-01-01 08:00:00
0
0
0
现在个人嫩申请微信小程序
来自于 1970-01-01 08:00:00
0
0
0
javascript - 微信小程序如何写倒计时
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板