微信小程序实现给嵌套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 相关文章推荐
javascript中将Object转换为String函数代码 (json str)
Apr 29 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
使用js实现一个可编辑的select下拉列表
Feb 20 Javascript
深入理解React中es6创建组件this的方法
Aug 29 Javascript
JavaScript事件用法浅析
Oct 31 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
Mar 09 Javascript
BackBone及其实例探究_动力节点Java学院整理
Jul 14 Javascript
讲解vue-router之什么是动态路由
May 28 Javascript
layui 表格的属性的显示转换方法
Aug 14 Javascript
Vue cli构建及项目打包以及出现的问题解决
Aug 27 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
js实现移动端吸顶效果
Jan 08 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静态方法与非静态方法的用法区别
2016/05/17 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
Underscore源码分析
2015/12/30 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
Python延时操作实现方法示例
2018/08/14 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
python实现接口并发测试脚本
2019/06/25 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
Django 框架模型操作入门教程
2019/11/05 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
委托证明书
2014/09/17 职场文书
终止劳动合同通知书
2015/04/16 职场文书