|
官網(wǎng)案例是直接用對象擴(kuò)展運算符傳遞一些簡單數(shù)據(jù); 實際項目中,我需要傳遞一個數(shù)組,該數(shù)組的每一項都是一個對象,來實現(xiàn)一個比較復(fù)雜一點的模板功能; 最初的解決方案是套用官網(wǎng)的案例在wxml中使用循環(huán),把每次循環(huán)的item也就是數(shù)組項作為參數(shù)傳遞到模板中,這就跟官網(wǎng)案例很相似; 但是這樣做的一個問題就是代碼還是感覺有點臃腫,本身作為模板最終的渲染邏輯應(yīng)該是包含整個循環(huán)在內(nèi)的,現(xiàn)在卻把循環(huán)放到了代碼中。這樣用模板的意義就基本上沒有了,優(yōu)勢也不存在了; 實例代碼:
<!-- tmpl模板代碼 -->
<template name="asd">
<text>{{name}}</text>
</template>
<!-- 主題代碼 -->
<block wx:for="{{item.data.singer}}">
<block wx:if="{{index > 0}}"> / </block>
<template is="asd" data="{{...item}}" />
</block>
經(jīng)過思考,發(fā)現(xiàn)可以這樣來實現(xiàn);
<!-- tmpl模板代碼 -->
<template name="abc">
<block wx:for="{{array}}">
<text><block wx:if="{{index > 0}}"> / </block>{{item.name}}</text>
</block>
</template>
<!-- 主題代碼 -->
<template is="abc" data="{{array: item.data.singer}}" />
嗯,看起來確實簡潔很多了呢!??! |