微信小程序(七)文章详情页面动态显示

文章详情页面动态显示(即点击某个文章就跳转到相应文章的详情页):

思路:在文章列表页面添加catchtop事件,在js文件中获取文章的index,并用wx.navigateTo中的

url拼接详情页的地址和文章的index,(在该操作之前该js应该已引入静态数据,在data中定义相应数据,

并更新数据,在详情页的js中也同样如上,详情看demo),列表页面事件添加完毕后,详情页需要接收数据

(index和文章内容),这就用到了,详情页的生命周期函数options来接收值.

为每个文章添加事件:

<block wx:for=‘{{listArr}}‘ wx:key=‘{{index}}‘>
<view catchtap="toDetail" data-index=‘{{index}}‘>
<template is=‘listTmp‘ data=‘{{...item}}‘/>
</view>
</block>

detail.wxml代码如下:

<!--pages/detail/detail.wxml-->
<view class="detailContainer">
<image class="headImg" src="{{detailObj.detail_img}}"></image>
<view class="avatar_date">
<image src="{{detailObj.avatar}}"></image>
<text>{{detailObj.author}}</text>
<text>发布于</text>
<text>{{detailObj.data}}</text>
</view>
<text class="company">{{detailObj.title}}</text>
<view class="collection_share_container">
<view class="collection_share">
<image src="/static/images/sc.png"></image>
<image src="/static/images/share2.png"></image>
</view>
<view class="line"></view>
</view>
<button>转发此文章</button>
<text class="content">{{detailObj.detail_content}}</text>
</view>

detail.js代码如下:

// pages/detail/detail.js
let datas=require(‘../data/list-data.js‘);
console.log(datas);
Page({

/**
* 页面的初始数据
*/
data: {
datailObj:{},
index:null
},

/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options);
//获取list页面传来的参数值
let index = options.index;
//更新data中的detailObj的状态值
this.setData({
detailObj:datas.list_data[index],
index //同名参数值可以省略不写(index:index)
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {

},

/**
* 生命周期函数--监听页面显示
*/
onShow: function () {

},

原文地址:https://www.cnblogs.com/ly-520/p/10279098.html

时间: 2024-08-30 13:08:45

微信小程序(七)文章详情页面动态显示的相关文章

基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)

高仿网易严选的微信小程序商城(微信小程序客户端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 功能和数据库参考ecshop 服务端api基于Node.js+ThinkJS+MySQL 计划添加基于Vue.js的后台管理系统.PC版.Wap版 GitHub: https://github.com/tumobi/nideshop-mini-program 项目截图 首页 专题 分类 商品列表 商品详情 购物车 订单中心 功能列表 首页 分类首页.分类商品.新品首发.

微信小程序开发07-列表页面怎么做

接上文:微信小程序开发06-一个业务页面的完成 github地址:https://github.com/yexiaochai/wxdemo 我们首页功能基本完成,我对比了下实际工作中的需求,完成度有70%以上,如果再花一两天时间,便能跟之前工作做的差不多了,今天我们继续实现一个页面列表,便结束这次的学习,后面几天要出差,所以总结性的文章本周未必能出来,静待下周吧. 这里考虑demo复杂度,列表页功能完成度也仅仅完成主功能模块,与真实工作完成度对比60%左右吧,于是我们开始愉快的代码,首先是将我们

如何使用微信小程序开发一个弹窗页面(附源码)

在小程序的开发过程中,我们肯定会遇到开发一个弹窗页面的情况,我们先看一下小程序官方对于弹窗页面的解释.API的接口如下 从官方给出的代码示例来看,想当简单,就像一个asert,并不能看出弹窗的真实需求.所以今天HTML51.COM就写了一个弹窗小程序教程,供大家学习参考.首页我们先看一下动态的效果图: 我们首先看到的是首页代码: <view class="copyright"> <view class="copyright_item">Cop

转载【小程序】: 微信小程序开发---应用与页面的生命周期

App App() App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. object参数说明: 属性 类型 描述 触发时机 onLaunch Function 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) onShow Function 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow onHide Function 生命周期函数--监听小程序隐藏 当小程序

微信小程序内联h5页面,实现分享

在小程序内直联h5的页面(pages/webview/webview.js),该页面为<web-view>的容器,使用<web-view>组件 <web-view wx:if="{{h5url}}" src="{{h5url}}" bindmessage="h5PostMessage" ></web-view> 需要bindmessage事件和postMessage方法 bindmessage:网页

微信小程序H5预览页面框架

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!--解决iphone横屏默认放大字体--> <

微信小程序-从组件触发页面任务

组件:第一个参数传入出发方法的名字,第二个参数传入需要传入的参数 this.triggerEvent('timeUpdate',{ currentTime }) 页面:bind:xxx,   xxx为传入的方法  也可以直接bindxxx <l-progress-bar bindtimeUpdate="timeUpdate" bindmusicEnd="next" /> 页面.js timeUpdate(event){ console.log(event

微信小程序使用wxs在页面中调用js函数,颜色值格式转换 rgb和十六进制的转换

<wxs module="filter"> var filter = { numberToFix: function (hex) { // 16进制颜色值的正则 // var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; var reg = getRegExp('^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$','g'); console.log(reg); console.log('结束'); // 把颜色值

微信小程序跳转页面时参数过长导致参数丢失

问题描述: 微信小程序:跳转页面时传参,参数过长导致参数丢失 跳转到文章详情页时,使用的文章链接e.currentTarget.dataset.id过长导致参数丢失 handleClickArticle: function (e) { wx.navigateTo({ url: '/pages/index/articleinfo/articleinfo?urllink=' + e.currentTarget.dataset.id }) }, 解决方案: 调用微信的API,将参数编码传送,解码接收,