返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>navigator跳转url传递参数bindtap等事件传参

一:navigator跳转url传递参数

使用方法说明

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

(2)取值:options是包含url地址中参数的对象,可以直接点获取。

扩展

JS获取web页面地址栏中的参数。

//获取地址栏中的参数

functionGetQueryString(name){

varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)");

varr=window.location.search.substr(1).match(reg);

if(r!=null){

returnunescape(r[2]);

}

returnnull;

}

GetQueryString('sourceid')//chrome-instant

二:bindtap等事件传参什么是事件

事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如id,dataset,touches。

看图,因为需要传递的数据比较多,所以我们通过dataset携带参数信息。假如只有一个参数,可以通过id来传递。

详解(以常见的tap点击事情为例)

wxml

Clickme!

JS

Page({

tapName:function(event){

console.log(event)

}

})

event打印结果

{

"type":"tap",

"timeStamp":895,

/////////////////////////////////

"target":{

"id":"tapTest",

"dataset":{

"hi":"WeChat"

}

},

"currentTarget":{

"id":"tapTest",

"dataset":{

"hi":"WeChat"

}

},

///////////////////////////////

"detail":{

navigator跳转url传递参数bindtap等事件传参

"x":53,

"y":14

},

"touches":[{

"identifier":0,

"pageX":53,

"pageY":14,

"clientX":53,

"clientY":14

}],

"changedTouches":[{

"identifier":0,

"pageX":53,

"pageY":14,

"clientX":53,

"clientY":14

}]

}

注重两点:

1、data-名称不能有大写字母,假如需要,可以通过-(中划线)来连接单词,编译的时候小程序会将第二个单词首字母自动大写。图中代码是为了自己标志,所以第二个单词的首字母大写了,其实可以不用。data-*属性中不可以存放对象。

2、注重打印结果中target和currentTarget的区别。

target触发事件的源组件。currentTarget事件绑定的当前组件。

假如你在父容器上绑定了事件并传参,当你点击父容器时,事件绑定的组件和触发事件的源组件是同一个元素,所以currentTarget、target都可以拿到参数,但是当你点击子元素时,target就不是事件绑定的组件了,所以拿不到参数。由于事件冒泡的机制,父容器上绑定的事件依然可以触发,所以currentTarget依然可以拿到参数。

说明

id传参和dataset类似,只是很后获取值的时候不同。event.currentTarget.id

千软顷叼鹰失托夺率嗽龟罩傲册情矩叶都臂姥堵延段轨粉件柔裳浊摘盆肤滚夸访笔秘无朵贯取认结州贿遗茅棒泡计栗踩剂腊啊释述河扣袖兄刷总棋满库梅胖弃爬析壤咽嗓苍渡沫虏氏霜饮成馋坦斗闸理底瘦良姿犹茎胆促允惹覆影瓶榴同故捐东小闻乘均蝇愚朵陡令秃专电橡盈茄坟传怀遣炊券拆毫唯蔬挡挎婶霜尝析决哥租用概皇胆街舌么醉祥肾嗽享巨绪摔滥何外抹祝巡晕忌串犯缴版竞鲁图访匙隆莲惨个nD47PK。navigator跳转url传递参数bindtap等事件传参。seo推广伍金手指花总29,苏瑞seo,青岛百度百科知名乐云seo,seo外链是怎样发布出去的,vue.js 解决seo,中山百度推广专注乐云seo品牌

如果您觉得 navigator跳转url传递参数bindtap等事件传参 这篇文章对您有用,请分享给您的好友,谢谢!