小程序共用一個組件與一個頁面,讓部分模塊中的標簽顯示與隱藏
發表時間:2020-9-22
發布人:葵宇科技
瀏覽次數:71
- 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 }