时间:2021-07-01 10:21:17 帮助过:25人阅读
本文实例总结了微信小程序实现给嵌套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>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在JS中如何实现网页版计算器
使用JS如何实现小球抛物线轨迹运动
在axios中如何实现cookie跨域
使用JavaScript如何实现二叉树遍历
在JavaScript中如何实现弹性效果
以上就是在微信小程序中如何实现给template模板传递数据的详细内容,更多请关注Gxl网其它相关文章!