# 模板
有时一部分代码在很多处都会用到,这时可以利用 QXML 的模板功能,将其定义为模板,然后在使用时调用。
# 定义模板
模板定义在 <template/>
内, name 属性定义模板的名称。如:
<template name="msgBox">
<view>
<text> {{index}}: {{msg}} </text>
<text> Time: {{time}} </text>
</view>
</template>
1
2
3
4
5
6
2
3
4
5
6
# 使用模板
使用模板时,也用 <template/>
标签,但是不能有 name 属性。使用 is 属性声明需要的使用的模板名称;使用 data 属性传入外部数据,如:
<template is="msgBox" data="{{ {...item} }}" />
1
Page({
data: {
item: {
index: 0,
msg: 'template msg',
time: '2019-10-01'
}
}
})
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
is 属性可以绑定变量,动态决定使用哪个模板:
<template name="odd">
<view> odd </view>
</template>
<template name="even">
<view> even </view>
</template>
<block qa:for="{{[1, 2, 3, 4, 5]}}">
<template is="{{item % 2 == 0 ? 'even' : 'odd'}}" />
</block>
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 模板的作用域
模板的作用域是独立的,只能使用 data 传入的数据以及引入的 <qjs />
模块数据。
←
→
在线客服