微信小程序开发经验总结(推荐)


Posted in Javascript onJanuary 11, 2017

一: 参数传值的方法

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);

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

7 读取属性

obj.name || obj['name']

注意: 数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。

8 检查变量是否声明

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

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

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

10 for … in 循环

用来遍历一个对象的全部属性

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

11 with 语句

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

with(obj) {
name1 = 1;
name2 = 2;
}

等同于

obj.name1 = 1;
obj.name2 = 2;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
IE、FF浏览器下修改标签透明度
Jan 28 Javascript
使用js实现数据格式化
Dec 03 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
基于jquery实现ajax无刷新评论
Aug 19 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
angular基于路由控制ui-router实现系统权限控制
Sep 27 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
EasyUI创建人员树的实例代码
Sep 15 Javascript
浅谈angular2路由预加载策略
Oct 04 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
bootstrap手风琴制作方法详解
Jan 11 #Javascript
el表达式 写入bootstrap表格数据页面的实例代码
Jan 11 #Javascript
微信小程序 本地存储及登录页面处理实例详解
Jan 11 #Javascript
js仿iphone秒表功能 计算平均数
Jan 11 #Javascript
jQuery实现限制文本框的输入长度
Jan 11 #Javascript
angularjs 实现带查找筛选功能的select下拉框实例
Jan 11 #Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
Jan 11 #Javascript
You might like
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
原生JavaScript实现todolist功能
2018/03/02 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
python实现简单的购物程序代码实例
2020/03/03 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
C#面试常见问题
2013/02/25 面试题
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
求职信如何撰写?
2019/05/22 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
Python实现智慧校园自动评教全新版
2021/06/18 Python
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python