小程序模板網(wǎng)

微信小程序-template模板使用

發(fā)布時間:2017-12-02 16:59 所屬欄目:小程序開發(fā)教程

如下圖,我在做華企商學(xué)院小程序的時候,課程搜索結(jié)果頁和課程列表頁結(jié)構(gòu)是完全一樣的,這時就非常適合使用模板來完成頁面搭建。實現(xiàn)一次定義,到處使用。一、定義模板1、新建一個templ ...

 
 
 

如下圖,我在做華企商學(xué)院小程序的時候,課程搜索結(jié)果頁和課程列表頁結(jié)構(gòu)是完全一樣的,這時就非常適合使用模板來完成頁面搭建。實現(xiàn)一次定義,到處使用。

 

一、定義模板

1、新建一個template文件夾用來管理項目中所有的模板; 
2、新建一個courseList.wxml文件來定義模板; 
3、使用name屬性,作為模板的名字。然后在內(nèi)定義代碼片段。

注意: 
a.可以看到一個.wxml文件中可以定義多個模板,只需要通過name來區(qū)分; 
b.模板中的數(shù)據(jù)都是展開之后的屬性。

 

		
  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是數(shù)組當前項的下標。

 

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

b. data 是要模板渲染的數(shù)據(jù),data="{{...item}}" 寫法是ES6的寫法,item是wx:for當前項,... 是展開運算符,在模板中不需要再{{item.courseName}} 而是直接{{courseName}} 。

 

三、模板樣式

1、在新建模板的時候同時新建一個courseList.wxss 的文件,與CSS同樣的寫法控制樣式。  2、在需要使用模板的頁面 .wxss文件中import進來;或者直接在app.wxss中引入,這樣只需要一次引入,其他文件就不用引入了。

 

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


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/18025.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢