第一步:定义模板

①:新建一个template文件夹用来管理项目中所有的模板(本文案例定义文件夹名为:temp);
②、新建一个wxml文件来定义模板(本文案例定义文件夹名为:temp.wxml);
③、使用name属性,作为模板的名字。然后在<template name='模板名称'>代码片段<template/>内定义代码片段。

 <!--pages/temp/temp.wxml-->
<template name='list'> <view class='expertStyle'> <image class='expertPhoto' src='{{img}}'></image> <view class='expertInfo'>
<view class='infoTop'>
<view class='topName'>{{name}}</view>
<view class='topType' wx:for="{{expertTitle}}" wx:key="*this">{{item.title}}</view>
</view> <view class='infoMiddle'>{{info}}</view><
<view class='infoBottom'>所在科室: {{keshi}} </view>
<view class='infoBottom'>坐诊时间: {{time}} </view>
</view>
</view> <view class="class_item class_item_end">
{{title}}
</view> </template> <template name='small-title'>
<view class='tips-info'>
<image class='tip-pic' src='../../../../../../images/red.png'></image>
<view class='tip-word'>{{title}}</view>
<view class='more'><navigator url='{{url}}'>更多 ></navigator></view>
</view>
</template>

注意:一个.wxml文件中可以定义多个模板,但是需要通过name来区分(此处定义了list和small-title两个模板);

另外.wxss文件照常写再temp.wxss中即可。之后可直接引用。

第二步:使用模板

注意:data 是要模板渲染的数据,data="{{...item}}" 写法是ES6的写法,itemwx:for当前项,... 是展开运算符,在模板中不需要再{{item.courseName}} 而是直接{{courseName}}

wxss页面只需直接引用模板里写好的样式即可,js文件此处不予讲述,毕竟模板相同,但每个页面的数据不同,故此处不引用。
@import "../../../../../temp/temp.wxss"

此处附上本文案例所引用的js数据的大体结构

 data: {
jianjie: "文本信息",
expertList: [
{
"doctorInfo": "url地址", "img": "图片地址", "name": "文本", "keshi": "文本", "time": "文本", "info": "文本", "expertTitle": [
{ "title": "文本1" },
{ "title": "文本2" },
{ "title": "文本3" }
]
},
{
"doctorInfo": "url地址", "img": "图片地址", "name": "文本", "keshi": "文本", "time": "文本", "info": "文本", "expertTitle": [
{ "title": "文本1" },
{ "title": "文本2" },
{ "title": "文本3" }
]
},
{
"doctorInfo": "url地址", "img": "图片地址", "name": "文本", "keshi": "文本", "time": "文本", "info": "文本", "expertTitle": [
{ "title": "文本1" },
{ "title": "文本2" },
{ "title": "文本3" }
]
},
],
smallTitle: [
{ "title": '文本', "url": 'url地址' },
{ "title": '文本', "url": 'url地址' }
],
},

此处js数据中在expertList数组中嵌套了第二个数组expertTitle,“..."展开符只能展开一层,故expertTitle中的子属性title用item.title来引用。

<view class='topType' wx:for="{{expertTitle}}" wx:key="*this">{{item.title}}</view>

另一处区别的是

<template is='small-title' data='{{ ...smallTitle[0] }}'/>

此处引用模板给予数组下标来应用对应信息。

<navigator wx:for="{{expertList}}" wx:key="*this" url='{{item.doctorInfo}}'>
<template is="list" data='{{...item}}'/>
</navigator>

此处itemwx:for当前项,故无需给予下标。

以上为笔者全部内容,若有不对之处,欢迎指正。

版权声明:本文为博主原创文章,欢迎转载和发表评论,转载请注明出处:http://www.cnblogs.com/leijue/p/8638442.html

微信小程序开发之--”emplate模板“的应用的更多相关文章

  1. 微信小程序开发之模板

    一.简介 WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用. 定义模板 使用name属性,作为模板的名字.然后在<template/>内定义代码片段,如 ...

  2. 微信小程序开发之模板消息

    一.添加模板 登录https://mp.weixin.qq.com获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用,详见模板审核说明 页面的 <form/> 组件,属性r ...

  3. 微信小程序开发:学习笔记[2]——WXML模板

    微信小程序开发:学习笔记[2]——WXML模板 快速开始 介绍 WXML 全称是 WeiXin Markup Language,是小程序框架设计的一套标签语言,结合小程序的基础组件.事件系统,可以构建 ...

  4. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

  5. 微信小程序开发详解——小程序,大颠覆!

    微信小程序开发 联系 苏念 188.1414.7927  微信小程序系统开发 微信新功能开发 小程序开发 小程序怎么开发 app小程序开发 简化小程序开发 微信小程序定制 小程序制作 开发微信小程序  ...

  6. 微信小程序开发教程目录

    本系列教程是自己在工作中使用到而记录的,没有顺序之分 如有错误之处,请给与指正,也不希望误导了别人 微信小程序开发教程目录 微信小程序之注册和入门 微信小程序之HTTPS请求 微信小程序开发之选项卡 ...

  7. 微信小程序开发库grace vs wepy

    grace和wepy都是辅助小程序开发的开源库,本文对两者做个对比. 注:本文是作者本人的一些拙见,纯粹的技术讨论,不想引起技术信仰之争,欢迎积极.正向的讨论及建议. 如果你还不了解Grace, 请参 ...

  8. 微信小程序开发03-这是一个组件

    编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...

  9. 微信小程序开发基础

    前言: 微信小程序开入入门,如果你有html+css+javascript的基础,那么你就很快地上手掌握的.下面提供微信小程序官方地址:https://developers.weixin.qq.com ...

随机推荐

  1. Quartz基本使用

    1.Quartz概述:简单的说就是java的一个定时任务的框架,没有那么复杂的解释,跟前端的定时器一样.在了解它之前,首先熟悉几个概念. 2.基本概念 2.1 Job:表示一个工作,要执行的具体内容. ...

  2. CentOS下iptables持久化

    iptables规则持久化 设定防火墙规则 iptables -A INPUT -s 1.1.1.1/32 -p tcp -m tcp --dport 22 -j DROP iptables -A I ...

  3. Http请求小结

    1.Http请求:get方式 public void httpGet(String url,Map<String,Object> map) { try { String joint = p ...

  4. MS SQL xp_instance_regwrite设置注册表疑惑

      以前写过一篇博文"MS SQL 日志记录管理",里面介绍了如何设置SQL Server的错误日志的最大归档数量,如果在SSMS的UI界面设置,可以从"Manageme ...

  5. windows2003服务器系统日志:查看电脑远程登录记录

    控制面板>>管理工具>>事件查看器>>选择安全性再点工具栏目中查看>>筛选>>事件ID填528进行过滤,时间你看是多久,双击查看之后就可以找 ...

  6. 【javascript】jquery jsonp跨越请求

    <html> <head> <meta charset="utf-8"> <title></title> <scr ...

  7. 如何修改WinPE Boot的.wim镜像文件

    1. 使用imagex /apply或imagex /mountrw将WIM镜像文件mount到某个文件夹,假设为d:\tmp\winpe_x86\mount.  例: imagex /mountrw ...

  8. Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 搭建过程

    安装SDK 1.Hi3531 SDK包位置     在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx ...

  9. Caused by: org.h2.jdbc.JdbcSQLException: Table "T_STUDENT_INFO" not found; SQL statement

    1.错误描述 org.hibernate.exception.SQLGrammarException: error executing work at org.hibernate.exception. ...

  10. textarea的不可拉伸和不可编辑

    不可拉伸: textarea { resize: none; } 不可编辑: 第一种方法: <textarea disabled></textarea> 第二种方法: < ...