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


Posted in Javascript onDecember 18, 2017

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

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

Javascript 相关文章推荐
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
Apr 17 Javascript
input标签内容改变的触发事件介绍
Jun 18 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
js实现的捐赠管理完整实例
Jan 20 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
Jan 19 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
Sep 08 Javascript
详解使用JWT实现单点登录(完全跨域方案)
Aug 02 Javascript
Jquery Datatables的使用详解
Jan 30 jQuery
JavaScript实现淘宝商品图切换效果
Apr 29 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
Dec 18 #Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 #Javascript
详解webpack与SPA实践之开发环境搭建
Dec 18 #Javascript
javaScript中的空值和假值
Dec 18 #Javascript
浅谈Webpack自动化构建实践指南
Dec 18 #Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 #Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 #Javascript
You might like
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
this[] 指的是什么内容 讨论
2007/03/24 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
Python实现115网盘自动下载的方法
2014/09/30 Python
解析Python编程中的包结构
2015/10/25 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
2020/12/07 Python
自我评价范文
2013/12/22 职场文书
八年级英语教学反思
2014/01/09 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
公益广告宣传方案
2014/02/28 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android