欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序实现给嵌套template模板传递数据的方式总结

程序员文章站 2022-04-03 17:05:40
本文实例总结了微信小程序实现给嵌套template模板传递数据的方式。分享给大家供大家参考,具体如下: 一、template模板调用的数据是单一形态时: indexte...

本文实例总结了微信小程序实现给嵌套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的写法,同第一种。

希望本文所述对大家微信小程序开发有所帮助。