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


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 相关文章推荐
容易被忽略的JS脚本特性
Sep 13 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
Feb 27 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
多种方法判断Javascript对象是否存在
Sep 22 Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 Javascript
JavaScript设计模式之单例模式实例
Sep 24 Javascript
JavaScript window.location对象
Nov 14 Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
Apr 05 Javascript
JS数组返回去重后数据的方法解析
Jan 03 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
Sep 26 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
php 中的4种标记风格介绍
2012/05/10 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
phpfpm的作用和用法
2019/10/10 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
js实现日历
2020/11/07 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
wxPython框架类和面板类的使用实例
2014/09/28 Python
python修改字典内key对应值的方法
2015/07/11 Python
python 日期操作类代码
2018/05/05 Python
Python中psutil的介绍与用法
2019/05/02 Python
高中毕业自我鉴定
2013/12/22 职场文书
青蓝工程实施方案
2014/03/27 职场文书
班干部演讲稿
2014/04/24 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
Python标准库pathlib操作目录和文件
2021/11/20 Python