我们可以给HTML元素添加data-*属性来传递我们需要的值,使用方法说明:
(1)设置data-id
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-*属性中不可以存放对象
使用方法说明:
(1)设置id
<view bindtap=“playTap" id="{{modle.id}}">
(2)取值
通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值
使用方法说明
(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) => {
})
}
const api = {
interface1: 'https://........',
interface2: 'https://.......',
interface3: 'https://....',
.....
}
module.exports = api;
fetch(url,data, callback) {
wx.request({
url,
data: data,
header: {
'Content-Type': 'application/json'
},
success(res) {
callback(null, res.data);
},
fail(e) {
callback(e);
}
})
},
import API from "../../api/api.js";
const app = getApp();
const conf = {
data:{
title:'正在拼命加载中...',
loadding:true
},
onLoad (){
app.fetch(API.hot,{},(err,data) => {
})
},
<template name="homecell">
<view class="item">
view>
template>
首先引入模板
<import src="../../commonXml/homecell.wxml" />
然后使用模板is后写模板的name..通过data来传递需要是数据
<template is="homecell" data="{{item}}">template>
var obj = [];
var obj = new obj();
var obj = Object.create(null);
dic[“key”] = “value”;
delete dic[“key”];
dic.clear();
delete dic;
Object.keys(obj);
对象的所有键名都是字符串,所以加不加引号都可以,如果键名是数值,会被自动转为字符串但是,如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),也不是数字,则必须加上引号,否则会报错
obj.name || obj[’name']
注意: 数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。
if(obj.name) || if(obj[’name'])
if ( ‘x’ in obj) {return 1}
用来遍历一个对象的全部属性
for (var i in obj) {
console.log(obj);
}
作用: 操作同一个对象的多个属性时,提供一些书写的方便
with(obj) {
name1 = 1;
name2 = 2;
}
等同于
obj.name1 = 1;
obj.name2 = 2;