当前位置:Gxlcms > JavaScript > 在微信小程序中如何实现给template模板传递数据

在微信小程序中如何实现给template模板传递数据

时间:2021-07-01 10:21:17 帮助过:25人阅读

这篇文章主要介绍了微信小程序实现给嵌套template模板传递数据的方式,结合实例形式总结分析了微信小程序嵌套template模板的定义、调用、参数传递及相关使用技巧,需要的朋友可以参考下

本文实例总结了微信小程序实现给嵌套template模板传递数据的方式。分享给大家供大家参考,具体如下:

一、template模板调用的数据是单一形态时:

indexTemplate模板:

  1. <import src="../lookAndCollect-template/lookAndCollect-template.wxml" />
  2. <template name="indexTemplate">
  3. <view class="user-info">
  4. <image class="avatar" src="{{avatar}}"></image>
  5. <text class="name">{{name}}</text>
  6. <text class="date">{{date}}</text>
  7. </view>
  8. <view class="news">
  9. <text class="news-title">{{title}}</text>
  10. <image class="news-img" src="{{newsImg}}"></image>
  11. <text class="news-content">{{content}}</text>
  12. </view>
  13. <template is="reviewAndCollect" data="{{review,look}}"></template>
  14. </template>

lookAndCollect模板:

  1. <template name="lookAndCollect-template">
  2. <view class="lookAndCollect-template">
  3. <view class="lookAndCollect-template-review">
  4. <image src="/smallApp/images/icon/view.png"></image>
  5. <text>{{look}}</text>
  6. </view>
  7. <view class="lookAndCollect-template-look">
  8. <image src="/smallApp/images/icon/chat.png"></image>
  9. <text>{{collect}}</text>
  10. </view>
  11. </view>
  12. </template>

indexTemplate模板在index.wxml中的引用:

  1. <block wx:for="{{newsData}}" wx:for-item="newsItem">
  2. <view class="item">
  3. <template is="indexTemplate" data="{{...newsItem}}" />
  4. </view>
  5. </block>

index.wxml对应的index.js写法:

  1. var newsDataList = require("../index-data.js");
  2. Page({
  3. data: {
  4. },
  5. onLoad: function (option) {
  6. this.setData({
  7. newsData: newsDataList.dataList
  8. });
  9. }
  10. })

模板中使用单一形式的数据:

  1. var news_data = [
  2. {
  3. listId: "0",
  4. avatar: "/smallApp/images/avatar/1.png",
  5. name: "我是大猫猫",
  6. date: "16分钟前",
  7. title: "搞事情?法国招聘新特工 会汉语成必备条件",
  8. newsImg: "/smallApp/images/post/crab.png",
  9. content: "是的,你没看错,据法国《费加罗报》报道,法国境外安全总局(DGSE)欲在2019年前招募600名新特工,而且新的特工必须年轻、有高等文凭,会多国语言,并且熟悉电脑与互联网。",
  10. review: "0",
  11. look: "30"
  12. },
  13. {
  14. listId: "1",
  15. avatar: "/smallApp/images/avatar/2.png",
  16. name: "风口上的猪",
  17. date: "1天前",
  18. title: "顺丰控股上市次日盘中涨停 离首富差4个涨停",
  19. newsImg: "/smallApp/images/post/bl.png",
  20. content: "根据之前借壳方鼎泰新材发布的公告,该公司定增完成后,第一大股东将变更为深圳明德控股发展有限公司(简称“明德控股”),持股比例为64.58%,后4名分别为宁波顺达丰润投资管理合伙企业(有限合伙)…",
  21. review: "100",
  22. look: "380"
  23. }
  24. ];
  25. module.exports = {
  26. dataList: news_data
  27. }

如果需要在嵌套的模板中传入多个数据,可以将每个数据用逗号隔开。

二、嵌套模板调用包括object对象时的调用方法:

模板中使用的数据review和look以对象的形式呈现时:

  1. var news_data = [
  2. {
  3. listId: "0",
  4. avatar: "/smallApp/images/avatar/1.png",
  5. name: "我是大猫猫",
  6. date: "16分钟前",
  7. title: "搞事情?法国招聘新特工 会汉语成必备条件",
  8. newsImg: "/smallApp/images/post/crab.png",
  9. content: "是的,你没看错,据法国《费加罗报》报道,法国境外安全总局(DGSE)欲在2019年前招募600名新特工,而且新的特工必须年轻、有高等文凭,会多国语言,并且熟悉电脑与互联网。",
  10. reviewAndCollect {
  11. review: "0",
  12. look: "30"
  13. }
  14. },
  15. {
  16. listId: "1",
  17. avatar: "/smallApp/images/avatar/2.png",
  18. name: "风口上的猪",
  19. date: "1天前",
  20. title: "顺丰控股上市次日盘中涨停 离首富差4个涨停",
  21. newsImg: "/smallApp/images/post/bl.png",
  22. content: "根据之前借壳方鼎泰新材发布的公告,该公司定增完成后,第一大股东将变更为深圳明德控股发展有限公司(简称“明德控股”),持股比例为64.58%,后4名分别为宁波顺达丰润投资管理合伙企业(有限合伙)…",
  23. reviewAndCollect {
  24. review: "120",
  25. look: "300"
  26. }
  27. }
  28. ];
  29. module.exports = {
  30. dataList: news_data
  31. }

indexTemplate模板

  1. <import src="../lookAndCollect-template/lookAndCollect-template.wxml" />
  2. <template name="indexTemplate">
  3. <view class="user-info">
  4. <image class="avatar" src="{{avatar}}"></image>
  5. <text class="name">{{name}}</text>
  6. <text class="date">{{date}}</text>
  7. </view>
  8. <view class="news">
  9. <text class="news-title">{{title}}</text>
  10. <image class="news-img" src="{{newsImg}}"></image>
  11. <text class="news-content">{{content}}</text>
  12. </view>
  13. <template is="reviewAndCollect" data="{{reviewAndCollect}}"></template>
  14. </template>

lookAndCollect模板:

  1. <template name="lookAndCollect-template">
  2. <view class="lookAndCollect-template">
  3. <view class="lookAndCollect-template-review">
  4. <image src="/smallApp/images/icon/view.png"></image>
  5. <text>{{reviewAndCollect.look}}</text>
  6. </view>
  7. <view class="lookAndCollect-template-look">
  8. <image src="/smallApp/images/icon/chat.png"></image>
  9. <text>{{reviewAndCollect.collect}}</text>
  10. </view>
  11. </view>
  12. </template>

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在JS中如何实现网页版计算器

使用JS如何实现小球抛物线轨迹运动

在axios中如何实现cookie跨域

使用JavaScript如何实现二叉树遍历

在JavaScript中如何实现弹性效果

以上就是在微信小程序中如何实现给template模板传递数据的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行