小程序官方使用简介


模板

WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。

定义模板

使用 name 属性,作为模板的名字。然后在内定义代码片段,如:

<!--index: intmsg: stringtime: string
-->
<template name="msgItem"><view><text> {{index}}: {{msg}} </text><text> Time: {{time}} </text></view>
</template>

使用模板

使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:

 <template is="msgItem" data="{{...item}}"/>Page({data: {item: {index: 0,msg: 'this is a template',time: '2017-10-2'}}})

is 属性可以使用 Mustache 语法,来动态决定具体需要渲染哪个模板:

 <template name="odd"><view> odd </view></template><template name="even"><view> even </view></template><block wx:for="{{[1, 2, 3, 4, 5]}}"><template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/></block>

模板的作用域

模板拥有自己的作用域,只能使用data传入的数据。


项目中封装使用

模板


一、定义模板

1、新建一个template文件夹用来管理项目中所有的模板;

2、新建一个templateList.wxml文件来定义模板;

3、使用name属性,作为模板的名字。然后在内定义代码片段。

注意:

a.可以看到一个.wxml文件中可以定义多个模板,只需要通过name来区分;

b.模板中的数据都是展开之后的属性。

<template name="templateLeft"><navigator url="../play/play?courseUuid={{courseUuid}}&isCompany={{isCompany}}"><view class="item mr26"><image src="{{imagePath}}" mode="aspectFill"></image><view class="course-title"><text class="title">{{courseName}}</text><text class="author">- {{teacherName}}</text></view><view class="course-info clearfix"><view class="fl"><text class="play">{{playCount}}</text></view><view class="fr"><text class="grade">{{score}}</text></view></view><view wx:if="{{studyProgress}}" class="tip-completed">{{studyProgress}}</view></view></navigator>
</template><template name="templateRight"><navigator url="../play/play?courseUuid={{courseUuid}}&isCompany={{isCompany}}"><view class="item"><image src="{{imagePath}}" mode="aspectFill"></image><view class="course-title"><text class="title">{{courseName}}</text><text class="author">- {{teacherName}}</text></view><view class="course-info clearfix"><text class="play fl">{{playCount}}</text><text class="grade fr">{{score}}</text></view><view wx:if="{{studyProgress}}" class="tip-completed">{{studyProgress}}</view></view></navigator>
</template>

二、使用模板

1、使用 is 属性,声明需要的使用的模板

<import src="../../templates/templateList.wxml"/>

2、将模板所需要的 data 传入,一般我们都会使用列表渲染。

<block wx:for="{{courseList}}"><template is="{{index%2 === 0 ? 'templateLeft' : 'templateRight'}}" data="{{...item}}"></template>
</block>

注意:

a.可以通过表达式来确定使用哪个模板is="{{index%2 === 0 ? ‘templateLeft’ : ‘templateRight’}}"
或者通过wx:if来确定。index是数组当前项的下标。

<template wx:if="{{index%2 === 0}}" is="courseLeft" data="{{...item}}"></template>
<template wx:else is="courseRight" data="{{...item}}"></template>

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


三、模板样式

1、在新建模板的时候同时新建一个templateList.wxss 的文件,与CSS同样的写法控制样式。

2、在需要使用模板的页面 .wxss文件中import进来;或者直接在app.wxss中引入,这样只需要一次引入,其他文件就不用引入了。

@import "../template/templateList.wxss";

为什么要使用template模板呢?

答: 因为我们在项目中会遇到很多公共的元素或者模块,并且这些模块可能会被在多个页面中使用。
所有我们为了节省劳动力,于是就将这个元素或者模块封装起来,在其他页面使用时,直接进行调用。

微信小程序中template模板使用相关推荐

  1. 微信小程序使用template模板

    首先简单的看一下文件结构: 第一步:新建一个template文件夹,里面新建一个template.wxml和template.wxss: template.wxml: <template nam ...

  2. 微信小程序开发template模板使用

    在小程序开发过程中,一个项目需要在多处页面使用类似的模块,就需要创建模板减少代码量,同时提高代码复用度.小程序通过template 标签使用模板,template 标签的 is 属性与模板的 name ...

  3. 微信小程序:WXML 模板

    微信小程序:WXML 模板 一.WXML 模板 网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来 ...

  4. Canvas绘图在微信小程序中的应用:生成个性化海报

    Canvas绘图在微信小程序中的应用:生成个性化海报 如极客时间的一些实现案例: 基础语法 Canvas本质是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素,默认大小为30 ...

  5. TP5之微信小程序推送模板消息

    TP5之微信小程序推送模板消息 1.获取formId并且存储起来,获取formId方法见: https://blog.csdn.net/u010481239/article/details/78239 ...

  6. 微信小程序数据绑定与模板语法

    微信小程序数据与模板配置 总述: 对应的语法格式与vue的语法格式类似 wxml数据绑定 WXML 模板语法 - 数据绑定.数据绑定的基本原则 在 data 中定义数据 在 WXML 中使用数据 在 ...

  7. Canvas绘图在微信小程序中的应用:生成个性化海报 1

    一.Canvas应用的背景(个人理解)及基础语法 背景 从2012年开始,微信那个时候用户的积累的量已经非常大了,推出公众号,当然大屏智能手机在那个时候也流行,传统的大众媒体逐步消亡,像微信公众号这样 ...

  8. 手把手教你开发微信小程序中的插件

    继上次 手把手教你实现微信小程序中的自定义组件 已经有一段时间了(不了解的小伙伴建议去看看,因为插件很多内容跟组件相似),今年3月13日,小程序新增了 小程序**「插件」 功能,以及开发者工具新增 「 ...

  9. 在微信小程序中,使用wxParse插件解析HTML/md富文本

    1. 在微信小程序中,使用wxParse插件解析HTML富文本 下载文件 GitHub地址:https://github.com/icindy/wxParse 解压文件,在解压后的文件夹里找到wxPa ...

最新文章

  1. ARM+linux+2440嵌入式开发相关经典书籍(转)
  2. 小白入门PyTorch | 第一篇:什么是PyTorch?
  3. 3.6.1.非阻塞IO
  4. 年龄与疾病(信息学奥赛一本通-T1106)
  5. ios请求php接口,php – 确保http(s)请求来自我的iOS应用程序
  6. linux对文件属性及权限操作的一些基本命令
  7. html+加粗+w3c,HTML5教程:html标签属性通过w3c验证
  8. 四省卫视联手办春晚 展现各地风俗年味
  9. Deepin安装Windows字体(如微软雅黑)
  10. 2021 Alexa SmartHome Skill 对接(二)配置及服务对接
  11. 解决IE浏览器无法使用“IP:端口“直接访问的问题
  12. 没有大厂经验的前端可以这么写简历
  13. 计算机键盘输入法基础知识,电脑基础知识:使用键盘打字
  14. BBR:Congestion-Based Congestion Control解读
  15. Android 仿淘宝京东等我的订单界面及任意列表拓展
  16. 目标检测中的precision,recall,AP,mAP计算详解
  17. Android 绘制电池图标
  18. centos怎么读(centos系统怎么读)
  19. 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM
  20. VS2015+WDK10在不同环境下的驱动配置

热门文章

  1. 聊聊CTR预估算法DeepFM
  2. 聊聊JVM(三)两种计算Java对象大小的方法
  3. Hive 基础(1):分区、桶、Sort Merge Bucket Join
  4. JVM实用参数(八)GC日志
  5. 关于javascript的原型和原型链,看我就够了(二)
  6. 下载文件(弹出迅雷来下载)
  7. mybatis 做 insert操作的时候返回插入的那条数据的id
  8. 黑马程序员-JavaSE核心知识-03第一个Java程序
  9. windowsXPsp3怎样恢复桌面IE图标(非快捷方式)
  10. PHP 设计模式之代理模式