本文实例总结了微信小程序实现给嵌套template模板传递数据的方式。分享给大家供大家参考,具体如下:
一、template模板调用的数据是单一形态时:
indexTemplate模板:
<import src=\"../lookAndCollect-template/lookAndCollect-template.wxml\" /> <template name=\"indexTemplate\"> <view class=\"user-info\"> <image class=\"avatar\" src=\"{{avatar}}\"></image> <text class=\"name\">{{name}}</text> <text class=\"date\">{{date}}</text> </view> <view class=\"news\"> <text class=\"news-title\">{{title}}</text> <image class=\"news-img\" src=\"{{newsImg}}\"></image> <text class=\"news-content\">{{content}}</text> </view> <template is=\"reviewAndCollect\" data=\"{{review,look}}\"></template> </template>
lookAndCollect模板:
<template name=\"lookAndCollect-template\"> <view class=\"lookAndCollect-template\"> <view class=\"lookAndCollect-template-review\"> <image src=\"/smallApp/images/icon/view.png\"></image> <text>{{look}}</text> </view> <view class=\"lookAndCollect-template-look\"> <image src=\"/smallApp/images/icon/chat.png\"></image> <text>{{collect}}</text> </view> </view> </template>
indexTemplate模板在index.wxml中的引用:
<block wx:for=\"{{newsData}}\" wx:for-item=\"newsItem\"> <view class=\"item\"> <template is=\"indexTemplate\" data=\"{{...newsItem}}\" /> </view> </block>
index.wxml对应的index.js写法:
var newsDataList = require(\"../index-data.js\"); Page({ data: { }, onLoad: function (option) { this.setData({ newsData: newsDataList.dataList }); } })
模板中使用单一形式的数据:
var news_data = [ { listId: \"0\", avatar: \"/smallApp/images/avatar/1.png\", name: \"我是大猫猫\", date: \"16分钟前\", title: \"搞事情?法国招聘新特工 会汉语成必备条件\", newsImg: \"/smallApp/images/post/crab.png\", content: \"是的,你没看错,据法国《费加罗报》报道,法国境外安全总局(DGSE)欲在2019年前招募600名新特工,而且新的特工必须年轻、有高等文凭,会多国语言,并且熟悉电脑与互联网。\", review: \"0\", look: \"30\" }, { listId: \"1\", avatar: \"/smallApp/images/avatar/2.png\", name: \"风口上的猪\", date: \"1天前\", title: \"顺丰控股上市次日盘中涨停 离首富差4个涨停\", newsImg: \"/smallApp/images/post/bl.png\", content: \"根据之前借壳方鼎泰新材发布的公告,该公司定增完成后,第一大股东将变更为深圳明德控股发展有限公司(简称“明德控股”),持股比例为64.58%,后4名分别为宁波顺达丰润投资管理合伙企业(有限合伙)…\", review: \"100\", look: \"380\" } ]; module.exports = { dataList: news_data }
如果需要在嵌套的模板中传入多个数据,可以将每个数据用逗号隔开。
二、嵌套模板调用包括object对象时的调用方法:
模板中使用的数据review和look以对象的形式呈现时:
var news_data = [ { listId: \"0\", avatar: \"/smallApp/images/avatar/1.png\", name: \"我是大猫猫\", date: \"16分钟前\", title: \"搞事情?法国招聘新特工 会汉语成必备条件\", newsImg: \"/smallApp/images/post/crab.png\", content: \"是的,你没看错,据法国《费加罗报》报道,法国境外安全总局(DGSE)欲在2019年前招募600名新特工,而且新的特工必须年轻、有高等文凭,会多国语言,并且熟悉电脑与互联网。\", reviewAndCollect { review: \"0\", look: \"30\" } }, { listId: \"1\", avatar: \"/smallApp/images/avatar/2.png\", name: \"风口上的猪\", date: \"1天前\", title: \"顺丰控股上市次日盘中涨停 离首富差4个涨停\", newsImg: \"/smallApp/images/post/bl.png\", content: \"根据之前借壳方鼎泰新材发布的公告,该公司定增完成后,第一大股东将变更为深圳明德控股发展有限公司(简称“明德控股”),持股比例为64.58%,后4名分别为宁波顺达丰润投资管理合伙企业(有限合伙)…\", reviewAndCollect { review: \"120\", look: \"300\" } } ]; module.exports = { dataList: news_data }
indexTemplate模板
<import src=\"../lookAndCollect-template/lookAndCollect-template.wxml\" /> <template name=\"indexTemplate\"> <view class=\"user-info\"> <image class=\"avatar\" src=\"{{avatar}}\"></image> <text class=\"name\">{{name}}</text> <text class=\"date\">{{date}}</text> </view> <view class=\"news\"> <text class=\"news-title\">{{title}}</text> <image class=\"news-img\" src=\"{{newsImg}}\"></image> <text class=\"news-content\">{{content}}</text> </view> <template is=\"reviewAndCollect\" data=\"{{reviewAndCollect}}\"></template> </template>
lookAndCollect模板:
<template name=\"lookAndCollect-template\"> <view class=\"lookAndCollect-template\"> <view class=\"lookAndCollect-template-review\"> <image src=\"/smallApp/images/icon/view.png\"></image> <text>{{reviewAndCollect.look}}</text> </view> <view class=\"lookAndCollect-template-look\"> <image src=\"/smallApp/images/icon/chat.png\"></image> <text>{{reviewAndCollect.collect}}</text> </view> </view> </template>
ps: indexTemplate模板在index.wxml中的引用,以及index.wxml对应的index.js的写法,同第一种。
希望本文所述对大家微信小程序开发有所帮助。
© 版权声明
THE END
暂无评论内容