微信小程序实现给嵌套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 相关文章推荐
js innerHTML 改变div内容的方法
Aug 03 Javascript
javascript Event对象详解及使用示例
Nov 22 Javascript
利用JavaScript脚本实现滚屏效果的方法
Jul 07 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
jQuery拖拽通过八个点改变div大小
Nov 29 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
Vue组件开发初探
Feb 14 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
Javascript创建类和对象详解
May 31 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
Element Card 卡片的具体使用
Jul 26 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
php 数组的一个悲剧?
2011/05/11 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
javascript读写json示例
2014/04/11 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
Python docx库用法示例分析
2019/02/16 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
在django中,关于session的通用设置方法
2019/08/06 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Python ORM编程基础示例
2020/02/02 Python
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
金属材料工程个人求职的自我评价
2013/12/04 职场文书
英文导游欢迎词
2014/01/11 职场文书
优良学风班总结材料
2014/02/08 职场文书
个人总结与自我评价
2014/09/18 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书