微信小程序 template模板详解

如下图,我在做华企商学院小程序的时候,课程搜索结果页和课程列表页结构是完全一样的,这时就非常适合使用模板来完成页面搭建。实现一次定义,到处使用。
模板
一、定义模板
1、新建一个template文件夹用来管理项目中所有的模板;
2、新建一个courseList.wxml文件来定义模板;
3、使用name属性,作为模板的名字。然后在<template/>内定义代码片段。
注意:
a.可以看到一个.wxml文件中可以定义多个模板,只需要通过name来区分;
b.模板中的数据都是展开之后的属性。
<template name="courseLeft">
<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="courseRight">
<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/courseList.wxml"/>
2、将模板所需要的 data 传入,一般我们都会使用列表渲染。
<block wx:for="{{courseList}}">
<template is="{{index%2 === 0 ? 'courseLeft' : 'courseRight'}}" data="{{...item}}"></template>
</block>
注意:
a.可以通过表达式来确定使用哪个模板is="{{index%2 === 0 ? 'courseLeft' : 'courseRight'}}"
或者通过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、在新建模板的时候同时新建一个courseList.wxss 的文件,与CSS同样的写法控制样式。
2、在需要使用模板的页面 .wxss文件中import进来;或者直接在app.wxss中引入,这样只需要一次引入,其他文件就不用引入了。
@import url("../template/courseList.wxss");
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序
# template模板详解
# 小程序
# template
# template使用方法
# 微信小程序template模板与component组件的区别和使用详解
# 微信小程序template模版的使用方法
# 微信小程序模板(template)使用详解
# 微信小程序实现给嵌套template模板传递数据的方式总结
# 微信小程序视图template模板引用的实例详解
# 详解微信小程序 template添加绑定事件
# 微信小程序 template模板详解及实例
# 微信小程序template模板引入的问题小结
# 新建一个
# 只需要
# 都是
# 我在
# 多个
# 可以通过
# 希望能
# 可以看到
# 搜索结果
# 不需
# 谢谢大家
# 所需要
# 来完成
# 要再
# 如下图
# 运算符
# 华企
# 引入了
# play
# image
相关文章:
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
免费网站制作appp,免费制作app哪个平台好?
建站之星与建站宝盒如何选择最佳方案?
如何快速上传自定义模板至建站之星?
南宁网站建设制作定制,南宁网站建设可以定制吗?
宝塔建站后网页无法访问如何解决?
淘宝制作网站有哪些,淘宝网官网主页?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
建站10G流量真的够用吗?如何应对访问高峰?
如何快速选择适合个人网站的云服务器配置?
网站网页制作专业公司,怎样制作自己的网页?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
实例解析angularjs的filter过滤器
建站主机选购指南与交易推荐:核心配置解析
建站之星如何防范黑客攻击与数据泄露?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
如何在阿里云完成域名注册与建站?
如何通过FTP服务器快速搭建网站?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星免费模板:自助建站系统与智能响应式一键生成
建站之星展会模版如何一键下载生成?
建站之星如何通过成品分离优化网站效率?
北京的网站制作公司有哪些,哪个视频网站最好?
如何在建站主机中优化服务器配置?
如何在Windows虚拟主机上快速搭建网站?
制作网站公司那家好,网络公司是做什么的?
黑客如何利用漏洞与弱口令入侵网站服务器?
如何通过建站之星自助学习解决操作问题?
高防服务器如何保障网站安全无虞?
网页设计与网站制作内容,怎样注册网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何在IIS中新建站点并解决端口绑定冲突?
盐城做公司网站,江苏电子版退休证办理流程?
如何在Windows服务器上快速搭建网站?
网站制作免费,什么网站能看正片电影?
如何用美橙互联一键搭建多站合一网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
建站主机选哪家性价比最高?
如何通过可视化优化提升建站效果?
Python lxml的etree和ElementTree有什么区别
高防服务器租用如何选择配置与防御等级?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何零基础在云服务器搭建WordPress站点?
建站之星备案是否影响网站上线时间?
如何用IIS7快速搭建并优化网站站点?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
个人网站制作流程图片大全,个人网站如何注销?
怎么将XML数据可视化 D3.js加载XML
*请认真填写需求信息,我们会在24小时内与您取得联系。