微信小程序实现给嵌套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 相关文章推荐
通过DOM脚本去设置样式信息
Sep 19 Javascript
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
Oct 27 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
Feb 08 Javascript
jquery实现手机端单店铺购物车结算删除功能
Feb 22 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
vue如何解决循环引用组件报错的问题
Sep 22 Javascript
JavaScript遍历DOM元素的常见方式示例
Feb 16 Javascript
ES6 Generator基本使用方法示例
Jun 06 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使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
小程序自定义日历效果
2018/12/29 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
20个常用Python运维库和模块
2018/02/12 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
python动态视频下载器的实现方法
2019/09/16 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
实例代码讲解Python 线程池
2020/08/24 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
Foreo国际站:Foreo International
2018/10/29 全球购物
电台实习生求职信
2014/02/25 职场文书
论文诚信承诺书
2014/05/23 职场文书
毕业横幅标语
2014/10/08 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
vue+spring boot实现校验码功能
2021/05/27 Vue.js
linux下安装redis图文详细步骤
2021/12/04 Redis
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL