微信小程序-template模板使用

如下图,我在做华企商学院小程序的时候,课程搜索结果页和课程列表页结构是完全一样的,这时就非常适合使用模板来完成页面搭建。实现一次定义,到处使用。一、定义模板1、新建一个templ …

     

如下图,我在做华企商学院小程序的时候,课程搜索结果页和课程列表页结构是完全一样的,这时就非常适合使用模板来完成页面搭建。实现一次定义,到处使用。

(此图片来源于网络,如有侵权,请联系删除! )

(此图片来源于网络,如有侵权,请联系删除! )

 

一、定义模板

1、新建一个template文件夹用来管理项目中所有的模板; 
2、新建一个courseList.wxml文件来定义模板; 
3、使用name属性,作为模板的名字。然后在内定义代码片段。

注意: 
a.可以看到一个.wxml文件中可以定义多个模板,只需要通过name来区分; 
b.模板中的数据都是展开之后的属性。

 


  1. <template name="courseLeft">
  2. <navigator url="../play/play?courseUuid={{courseUuid}}&isCompany={{isCompany}}">
  3. <view class="item mr26">
  4. <image src="{{imagePath}}" mode="aspectFill"></image>
  5. <view class="course-title">
  6. <text class="title">{{courseName}}</text>
  7. <text class="author">- {{teacherName}}</text>
  8. </view>
  9. <view class="course-info clearfix">
  10. <view class="fl"><text class="play">{{playCount}}</text></view>
  11. <view class="fr"><text class="grade">{{score}}</text></view>
  12. </view>
  13. <view wx:if="{{studyProgress}}" class="tip-completed">{{studyProgress}}</view>
  14. </view>
  15. </navigator>
  16. </template>
  17.  
  18. <template name="courseRight">
  19. <navigator url="../play/play?courseUuid={{courseUuid}}&isCompany={{isCompany}}">
  20. <view class="item">
  21. <image src="{{imagePath}}" mode="aspectFill"></image>
  22. <view class="course-title">
  23. <text class="title">{{courseName}}</text>
  24. <text class="author">- {{teacherName}}</text>
  25. </view>
  26. <view class="course-info clearfix">
  27. <text class="play fl">{{playCount}}</text>
  28. <text class="grade fr">{{score}}</text>
  29. </view>
  30. <view wx:if="{{studyProgress}}" class="tip-completed">{{studyProgress}}</view>
  31. </view>
  32. </navigator>
  33. </template>

 

二、使用模板

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

 


  1. <import src="../../templates/courseList.wxml"/>

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

 


  1. <block wx:for="{{courseList}}">
  2. <template is="{{index%2 === 0 ? 'courseLeft' : 'courseRight'}}" data="{{...item}}"></template>
  3. </block>

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

 


  1. <template wx:if="{{index%2 === 0}}" is="courseLeft" data="{{...item}}"></template>
  2. <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中引入,这样只需要一次引入,其他文件就不用引入了。

 


  1. @import url("../template/courseList.wxss");

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

【小程序源码网资源版权风险说明】:
本站为避免不必要的纷争,分享的所有资源中一切可能有版权风险的资源将全部转载自第三方网站或平台,站长只为大家提供相关资源的介绍和跳转引导。 因可能有疏忽大意,所以如有遗漏资源侵犯了您的合法权利,请联系站长删除。
【小程序源码网资源下载使用说明】:
本站所分享的一切QQ小程序源码,thinkphp整站源码,微信小程序源码,图文教程等资源仅供用户学习参考使用,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网毫无人看的介绍】:
本站又称Z站,原名贼娘网,开站于2018年,换过三任站长,目前站长是第四任站长,本站是一个主要分享免费开源小程序源码/网站源码/免费素材/教程资源的网站,主要小程序资源有用于学习的小程序源码,也有正版原创可商用的小程序源码,是一个公益博客型网站。
【小程序源码网原创源码版权申明】:
未经小程序源码网许可,任何人不得擅自使用本站原创首发源码进行商业行为(除本站VIP用户在期限内,版权无使用限制),否则将依法承担相应赔偿责任。
【小程序源码网转载文章版权申明】:
本站所转载的QQ小程序或微信小程序源码与其他资源仅供学习,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网站长最后的屁话】:
如有您认为本站有任何侵犯您合法权益的文章,或者您有什么疑问需求,欢迎联系站长QQ,站长24小时在线,备注公司名称和源码版权问题或者需要小程序定制开发等站长业务类型可急速处理,如果您只是交流小程序的一些开发问题或源码问题可以加入QQ群讨论,就不用加站长啦,对于白嫖党,QQ群才是处理问题的天堂,当然站长也欢迎大家骚扰~
小程序源码网 » 微信小程序-template模板使用
嘿,投喂下嘛!