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


模板
一、定義模板
1、新建一個template文件夾用來管理項目中所有的模板;
2、新建一個courseList.wxml文件來定義模板;
3、使用name屬性,作為模板的名字。然后在<template/>內(nèi)定義代碼片段。
注意:
a.可以看到一個.wxml文件中可以定義多個模板,只需要通過name來區(qū)分;
b.模板中的數(shù)據(jù)都是展開之后的屬性。
<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.可以通過表達(dá)式來確定使用哪個模板is="{{index%2 === 0 ? 'courseLeft' : 'courseRight'}}"
或者通過wx:if來確定。index是數(shù)組當(dāng)前項的下標(biāo)。
<template wx:if="{{index%2 === 0}}" is="courseLeft" data="{{...item}}"></template>
<template wx:else is="courseRight" data="{{...item}}"></template>
b. data 是要模板渲染的數(shù)據(jù),data="{{...item}}" 寫法是ES6的寫法,item是wx:for當(dāng)前項,... 是展開運算符,在模板中不需要再{{item.courseName}} 而是直接{{courseName}} 。
三、模板樣式
1、在新建模板的時候同時新建一個courseList.wxss 的文件,與CSS同樣的寫法控制樣式。
2、在需要使用模板的頁面 .wxss文件中import進(jìn)來;或者直接在app.wxss中引入,這樣只需要一次引入,其他文件就不用引入了。
@import url("../template/courseList.wxss");
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
微信小程序?qū)崿F(xiàn)多個按鈕toggle功能的實例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)多個按鈕toggle功能的實例的相關(guān)資料,需要的朋友可以參考下2017-06-06
微信小程序 wxapp內(nèi)容組件 text詳細(xì)介紹
這篇文章主要介紹了微信小程序 wxapp內(nèi)容組件 text詳細(xì)介紹的相關(guān)資料,并附簡單實例代碼,需要的朋友可以參考下2016-10-10
瀏覽器切換到其他標(biāo)簽頁或最小化js定時器是否準(zhǔn)時測試
這篇文章主要為大家介紹了瀏覽器切換到其他標(biāo)簽頁或最小化是js定時器是否準(zhǔn)時的測試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
JavaScript代碼不能被阻斷的穩(wěn)定性建設(shè)
這篇文章主要為大家介紹了JavaScript代碼不能被阻斷的穩(wěn)定性建設(shè)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
umi插件開發(fā)仿dumi項目實現(xiàn)基礎(chǔ)路由解析
這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項目實現(xiàn)基礎(chǔ)路由解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
axios進(jìn)度條onDownloadProgress函數(shù)total參數(shù)undefined解決分析
這篇文章主要介紹了axios進(jìn)度條onDownloadProgress函數(shù)total參數(shù)undefined解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

