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

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. C#设计模式——单例

    单例模式是设计模式中最简单的形式之一.这一模式的目的是使得类的一个对象成为系统中的唯一实例.对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任 ...

  2. Spring课程 Spring入门篇 3-2 Spring bean装配(上)之bean的生命周期

    课程链接: 本节主要讲了三大块内容 1 bean的生命周期概念 2 bean的初始化和销毁的三种方式对比(代码演练) 3 总结 1 bean的生命周期概念 1.1 bean的定义:xml中关于bean ...

  3. Python数据类型及常用操作

    Python字符串类型 1.用途: 用来记录有描述性的状态.比如:人名,地址等. 2.定义方式: 创建字符串非常简单,在‘ ’,“ ”,‘’‘ ’‘’内一填写一系列的字符例如:msg='hello' ...

  4. Kindeditor单独调用多图上传

    html代码: <input type="button" id="J_selectImage" value="图片上传" />& ...

  5. Android 通过接口的方式去调用服务里面的方法

    public class MainActivity extends AppCompatActivity { private MyConn conn; private Iservice myBinder ...

  6. Active Sync与IIS7 Classic&Integrated模式,Exchange 2007&2010的关系

    上周开始一项工作,起因是因为QA同事发现我们开发的EAS hook不能在Exchange 2007 server上工作,而在Exchange 2010上可以正常工作. 环境对比如下: 1. Windo ...

  7. appium (五)desired_caps参数

     转自:http://blog.csdn.net/Yejianyun1/article/details/56279051   一.介绍 在appium server 与手机端建立会话关系时,手机端需要 ...

  8. Homestead 安装 phpMyAdmin 作为数据库管理客户端 — Laravel 实战 iBrand API 教程

    简介 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库.借由此Web接口可以成为一个简易方式输 ...

  9. 01、Spark安装与配置

    01.Spark安装与配置 1.hadoop回顾 Hadoop是分布式计算引擎,含有四大模块,common.hdfs.mapreduce和yarn. 2.并发和并行 并发通常指针对单个节点的应对多个请 ...

  10. AFNetworking 使用总结 (用法+JSON解析

    AFNetwork是一个轻量级的网络请求api类库.是以NSURLConnection, NSOperation和其他方法为基础的. 下面这个例子是用来处理json请求的: NSURL *url =  ...