WXML提供模板(template),可以在模板中定義代碼片段,然后在不同的地方調用。
使用 name 屬性,作為模板的名字。然后在<template/>
內定義代碼片段,如:
<!-- index: int msg: string time: string --><template name="msgItem"> <view> <text> {{index}}: {{msg}} </text> <text> Time: {{time}} </text> </view></template>
使用 is 屬性,聲明需要的使用的模板,然后將模板所需要的 data 傳入,如:
<template is="msgItem" data="{{...item}}"/>
Page({ data: { item: { index: 0, msg: 'this is a template', time: '2016-09-15' } } })
is 屬性可以使用 Mustache 語法,來動態決定具體需要渲染哪個模板:
<template name="odd"> <view> odd </view></template><template name="even"> <view> even </view></template><block wx:for="{{[1, 2, 3, 4, 5]}}"> <template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/></block>
模板擁有自己的作用域,只能使用 data 傳入的數據以及模版定義文件中定義的 <wxs />
模塊。