小程序共用一个组件与一个页面,让部分模块中的标签显示与隐藏
发表时间:2020-9-22
发布人:葵宇科技
浏览次数:102
- utils/wxs/pagetype文件
//模块对应的本地路由地址(JX_GROUP:近效,根据pagetype传参进行判断)
function getPageLink(pageType, link, params = null) {
if (pageType == 'KX_GROUP' || pageType == 'YL_GROUP' || pageType == 'ZS_GROUP' || pageType == 'JX_GROUP') {
return '/pages/view/groups/index?groupid='+link+'&pagetype='+pageType
}`
- page/view/groups/index.js文件中,在onLode引入
data: {
m_pageType:null
},
onLoad(options) {
let pageType = options.pagetype
}
that.setData({
m_pageType: pageType
})
- page/view/groups/index.wxml中模板中声明m_pageType
<template is="single-list" data="{{ listData: item.listData, message: m_priceTips,m_pageType}}"/>
- 找到single-list模块page/template/list/single/index.wxml调用custom-item地方声明一个show-near自定义标签名,根据m_pageType类型判断标签显示或者隐藏
<custom-item
show-near="{{m_pageType != 'JX_GROUP'}}">
</custom-item>
- 找到custom-item组件pages/components/ui/goods/item/index.js声明showNear变量
properties: {
showNear: {type: Boolean, value: true} //近效标签显示
},
- 在custom-item组件wxml中调用
<text class="near" wx:if="{{item.timeNearExpired == 'true' && showNear}}">近效</text>
小提示:没有在wxml中声明的变量,但在js中使用的话,可以直接定义在data外部,
m_groupId: 0
,并且直接赋值onLoad(options) { this.m_groupId = groupid }