在此以插件开发中文章列表跳传文章详情为例。

1、首先在插件中的文章列表页面wxml中绑定跳转事件。

bindtap='url' data-id="{{item.article_id}}"

2、在文章列表页面js中接收事件,并触发冒泡事件。

/**
* 跳转至详情
*/
url: function (e) { var eventDetail = {
data: a.pdata(e).id,
}
// 触发事件的选项 bubbles是否冒泡,composed是否可穿越组件边界,capturePhase 是否有捕获阶段
var eventOption = {
composed: true
}
this.triggerEvent('click_btn', eventDetail, eventOption);
},
}

3、在插件调试的文章列表页面里获取插件层点击事件

小程序的文章列表.js代码

 var p = requirePlugin("myPlugin");
Page({
data: {
show: false,
ReachBottom: 0,
PullDown: 0,
}, onLoad: function () {
var that = this;
that.setData({
app_key: 'e31vry7y2j',
class_id:42,
ident: '',//article_1
wz_type: 'find',
show:true
})
var interval = setInterval(function () {
var arr = p.arr['article_' + that.data.app_key],
i=0;i++;
if (arr || i>10) {
clearInterval(interval);
wx.setNavigationBarTitle({
title: p.arr['article_' + that.data.app_key] ? p.arr['article_' + that.data.app_key] : '列表'
})
}
}.bind(this), 1000);
},
sub_fun: function (e) {
//console.log(e.detail.data);
var id = e.detail.data;
wx.navigateTo({
url: '/pages/detail/index?id='+id,
})
},
/**
* 下拉刷新
*/
onPullDownRefresh: function () {
this.setData({
PullDown: this.data.PullDown + 1
})
wx.stopPullDownRefresh();
},
/**
*上拉加载
*/
onReachBottom: function () {
this.setData({
ReachBottom: this.data.ReachBottom + 1
})
},
})

.json代码

{
"navigationBarTitleText": "列表",
"usingComponents": {
"list": "plugin://myPlugin/article_list"
}
}

.wxml代码(bind:click_btn绑定插件层点击事件,在页面以sub_fun函数接收)

<view wx:if="{{show}}">
<list app_key="{{app_key}}" class_id="{{class_id}}" ident="{{ident}}" wz_type="{{wz_type}}" PullDown="{{PullDown}}" ReachBottom="{{ReachBottom}}" bind:click_btn="sub_fun"/>
</view>

4、在页面完成跳转,跳到小程序的文章详情后,再传参给插件层的文章详情

小程序的详情页主要是把参数传到插件层(下面代码中的s_id)

<view wx:if="{{show}}">
<article_detail s_id="{{id}}" app_key="{{app_key}}" ident="{{ident}}" PullDown="{{PullDown}}" bind:suport="suport" bind:click_btn="sub_fun"/>
</view>

5、在插件中的文章详情内js中接收参数(用properties接收,并存在data中以供调用)

properties: {
s_id: {
type: String,
value: '',
observer: function (newVal, oldVal) {
console.log('newVal:'+newVal)
this.setData({ id: newVal })
this.detail()
}
}, },

关于Component构造器的使用方法(https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/component.html)

6、插件中的文章详情中js即可根据上面的参数来调取文章详情的接口

微信小程序插件内页面跳转和参数传递的更多相关文章

  1. 微信小程序插件内页面跳转和参数传递(转)

    在此以插件开发中文章列表跳传文章详情为例. 1.首先在插件中的文章列表页面wxml中绑定跳转事件. bindtap='url' data-id="{{item.article_id}}&qu ...

  2. 微信小程序之----navigator页面跳转

    navigator navigator跳转页面样式分为两种一种是左上角带返回按钮跳转到新的页面,另一种不带即在本页跳转,通过控制redirect属性 .js <view> <navi ...

  3. 【微信小程序】Page页面跳转(路由/返回)并传参

    页面跳转的方法参考官方文档: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/route.html 问题:使用wx.na ...

  4. 微信小程序开发之页面跳转并携带参数

    接口: wx.navigateTo({url:......})   保留当前页面,跳转到应用内指定URL页面,导航栏左上角有返回按钮 wx.redirecTo({url:.....})       关 ...

  5. 微信小程序插件 - 开发教程

    昨天(2018.3.13),微信小程序发布了重大功能更新,支持插件的使用和开发,个人预计,不超过2个月,优质服务的插件将会如雨后春笋般涌现. 这篇文章,我将会带大家,从0开始,学习如何开发和使用插件. ...

  6. 完整微信小程序授权登录页面教程

    完整微信小程序授权登录页面教程 1.前言 微信官方对getUserInfo接口做了修改,授权窗口无法直接弹出,而取而代之是需要创建一个button,将其open-type属性绑定getUseInfo方 ...

  7. Java Web项目,Android和微信小程序的初始页面配置

    Java Web项目 我们在Eclipse里开了Java Web项目之后,Run As Tomcat或者Apache服务器,本地运行,如果直接用http://localhost:8080访问项目,会发 ...

  8. (十二)微信小程序实现登陆页面+登陆逻辑

    微信小程序实现登陆页面 实现上面两个页面 第一个页面 <view> <!-- 上侧部分 --> <view class="top-view"> ...

  9. 【微信】微信小程序 应用内的页面跳转在添加了tab以后就跳转不成功的问题解决

    在微信小程序中,本来应用页面内绑定在按钮上跳转页面可以成功,但是将页面添加在tab以后就不能实现跳转了 原本代码如下: //事件处理函数 bindViewTap: function() { wx.na ...

随机推荐

  1. Day6上 括号匹配专项

    滑稽的题 T1 #include<iostream> #include<cstring> #include<queue> #include<algorithm ...

  2. C#本期本周的算法

    C#根据当前时间获取,本周,本月,本季度等时间段 DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Conve ...

  3. [转]开发中如何解决SQL注入的问题

    Java防止SQL注入 SQL 注入简介:        SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法用户钻了SQL的空子,下面 ...

  4. MySQL(五)

    一.视图 视图是一个虚拟表(非真实存在),其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘 ...

  5. sass-基础

    导入: sass的导入(@import)规则和CSS的有所不同,编译时会将@import的scss文件合并进来只生成一个CSS文件. 但是如果你在sass文件中导入css文件如@import 'res ...

  6. zookeeper的几种使用场景

    1.数据的发布与订阅 通过发布与订阅实现配置的信息的统一管理,主要采用zk节点可以存储数据的特性,我们可以将一些配置信息存放到某一节点上,订阅这个节点的服务就可以动态的获取这个节点的数据.在应用启动的 ...

  7. 开发中常用的sql语句二

    sql 数字全角半角转换 create FUNCTION dbo.ConvertWordAngle ( ), --要转换的字符串 @flag bit --转换标志,0转换成半角,1转换成全角 )) A ...

  8. 分析一点python源代码

    偶然看了一下python的部分源代码,感觉python的作者写的代码真心很美,简洁美观,学习之. 举几个例子抛砖引玉一下: def removedirs(name): ""&quo ...

  9. MySQL子查询有哪五种形式?

    MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品.MySQL是最流行的关系型数据库管理系统之一,在web应用方面,MySQL是最好的RDBMS(Rela ...

  10. centos 7中磁盘挂载重启后挂载失效

     在centos 7磁盘挂载成功后,关机重启,挂载磁盘失效,需要重新挂载,不用重新挂载的开机挂载方法如下: 1.先检验要挂载的磁盘是否已被挂载,有的话先卸除 2.修改 /etc/fstab 文件 ,最 ...