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


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 相关文章推荐
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
Nov 24 Javascript
省市联动效果的简单实现代码(推荐)
Jun 06 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
Apr 17 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 Javascript
JS中循环遍历数组的四种方式总结
Jan 23 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中的正则表达式函数介绍
2012/02/27 PHP
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
babel基本使用详解
2017/02/17 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
JS实现可控制的进度条
2020/03/25 Javascript
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
pygame实现成语填空游戏
2019/10/29 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
幼儿园家长评语
2014/02/10 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
新春寄语大全
2014/04/09 职场文书
房屋产权证明书
2014/10/15 职场文书
职称评定个人总结
2015/03/05 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
学习十八大的感悟
2015/08/11 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers