微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解


Posted in Javascript onMarch 28, 2019

本文实例讲述了微信小程序学习笔记之跳转页面、传递参数获得数据操作。分享给大家供大家参考,具体如下:

前面一篇介绍了微信小程序表单提交与PHP后台数据交互处理。现在需要实现点击博客标题或缩略图,跳转到博客详情页面。

微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解

开始想研究一下微信小程序的web-view组件跳转传参,把网页嵌入到小程序,结果看到官方文档的一句话打消了念头,因为没有认证......

微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解

【方法一 使用navigator组件跳转传参】

前台博客列表页面data.wxml:(后台数据交互参考上一篇)

<view wx:for="{{artinfo}}" wx:for-item="artinfo">
  <view>
    <navigator url="/pages/detial/detial?article_id={{artinfo.article_id}}" >
     {{artinfo.article_title}}
    </navigator>
  </view>
  <navigator url="/pages/detial/detial?article_id={{artinfo.article_id}}" >
   <image src="{{artinfo.thumbnail}}"></image>
  </navigator>
</view>

前台博客详情页面detail.js:

Page({
 onLoad: function (options) { //options:页面跳转所传的参数
  var that = this
  wx.request({
   url: 'https://www.msllws.top/Getdata/detial',
   data: {
    'article_id': options.article_id
   },
   method: 'POST',
   header: {
    'Content-Type': 'application/x-www-form-urlencoded'
   },
   success: function (res) {
    if (res.data.state == 1) {
     that.setData({
      artinfo: res.data.data
     })
    }else{
     wx.showToast({
      title: res.data.msg
     });
    }
   }
  })
 }
})

前台博客详情页面detail.wxml:

<view>{{artinfo.article_title}}</view>
<view>———————————————————————————</view>
<rich-text nodes="{{artinfo.article_content}}"></rich-text>

后台获取博客内容接口:(tp5)

public function detial()
 { 
   $arr = array('state'=>0,'msg'=>'','data'=>array());
   $article_id = $_POST['article_id'];
   if($article_id){
     $whe['article_id'] = $article_id;
     $artinfo = db('article')->field('`article_title`,`article_content`')->where($whe)->find();
     if($artinfo){
       $arr['state'] = 1;
       $arr['msg'] = 'success';
       $arr['data'] = $artinfo;
     }else{
       $arr['msg'] = '没有信息';
     }
   }else{
     $arr['msg'] = '参数错误';
   }
   echo json_encode($arr);die;
 }

实现效果如下:

微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解

【方法二 使用wx.navigateTo API跳转传参】

前台博客列表页面data.wxml:

(data-xxx:自定义参数属性,catchtap:绑定点击事件)

<view wx:for="{{artinfo}}" wx:for-item="artinfo">
  <view data-article_id="{{artinfo.article_id}}" catchtap="showDetial">
     {{artinfo.article_title}}
   </view>
  <view data-article_id="{{artinfo.article_id}}" catchtap="showDetial">
   <image src="{{artinfo.thumbnail}}"></image>
  </view>
</view>

前台博客列表页面data.js:

Page({
 onLoad: function () {
  var that = this
  wx.request({
   url: 'https://www.msllws.top/Getdata',
   headers: {
    'Content-Type': 'application/json'
   },
   success: function (res) {
    that.setData({
     artinfo: res.data
    })
   }
  })
 },
 showDetial: function (e) {
  var article_id = e.currentTarget.dataset.article_id;
  wx.navigateTo({
   url: '/pages/detial/detial?article_id=' + article_id
  })
 }
})

其他与方法一相同,可实现与方法一相同跳转传参。

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
jquery+json 通用三级联动下拉列表
Apr 19 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
IE中getElementsByName()对有些元素无效的解决方案
Sep 28 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
Dec 22 Javascript
Bootstrap每天必学之进度条
Nov 30 Javascript
jQuery中cookie插件用法实例分析
Dec 04 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
Mar 17 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
详解Vue 全局变量,局部变量
Apr 17 Javascript
vue.js的状态管理vuex中store的使用详解
Nov 08 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
May 20 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
Mar 28 #Javascript
深入理解es6块级作用域的使用
Mar 28 #Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 #Javascript
详解React服务端渲染从入门到精通
Mar 28 #Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
Mar 28 #Javascript
JavaScript刷新页面的几种方法总结
Mar 28 #Javascript
Vue批量图片显示时遇到的路径被解析问题
Mar 28 #Javascript
You might like
php数组合并的二种方法
2014/03/21 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
javascript 日期常用的方法
2009/11/11 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
[01:12]DOTA2 2015年秋季互动指南
2015/11/10 DOTA
Python正则表达式使用范例分享
2016/12/04 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
儿童学习python的一些小技巧
2018/05/27 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
Django跨域请求原理及实现代码
2020/11/14 Python
python 制作磁力搜索工具
2021/03/04 Python
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
任意存:BOXFUL
2018/05/21 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
南京市纪委监察局整改方案
2014/09/16 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
大学毕业生个人总结
2015/02/28 职场文书
第一书记观后感
2015/06/08 职场文书
学雷锋感言
2015/08/03 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang