全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

微信小程序 template模板详解及实例代码

微信小程序 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小时内与您取得联系。