import 介绍
把模板定义到外部,然后多个页面间可以共用使用定义的模板WXML结构显示。(代码复用)
- import:可以把一些常用自定义函数,写到一个文件中,在用的时候可以导入进来,然后再去调用里面的特定的函数。(按需使用)
- 作用:
import
可以在当前文件中使用目标文件定义的template
(代码区块[标签],可以有多个)。 - 语法:
<import src="目标文件的路径"></import>
- 注意事项:
1. import的标签使用可以存在套娃行为,也就是说可以允许出现以下情况:在C文件中importB文件,在B文件中importA文件
2. import在套娃的时候需要注意,其使用template存在作用域的概念的。import导入,在使用时只能使用导入的目标文件的template,不能使用导入文件中的导入的目标文件的template。(不允许隔代使用)
import 案例
-
目录结构:
-
例如:有一个可被复用的目标文件
asset.wxml
,其代码如下:
<!--
该文件是被引入的文件
注意:
1. 该文件可以看作是函数封装组件,里面存放封装的函数(代码段),函数定义是需要关键词function(template),而函数还需要函数名(name属性)
2. 在这里面写几个代码段
-->
<!-- template因为可以存在若干个,因此需要给每个template命名,让后续在复用的时候知道可以用哪个 -->
<template name="header">
<view>头部部分</view>
</template>
<template name="list">
<view>列表部分</view>
</template>
<template name="footer">
<view>尾部部分,接收到的参数year:{{year}}</view>
</template>
- 在建立好刚才的文件后,我们可以在具体需要复用代码的位置进行导入和使用了:
<!--miniprogram/pages/import/import.wxml-->
<!--
主体的页面,需要使用目标文件,因此得在这里导入目标文件
导入的时候使用import标签,结合src属性使用
在使用代码段的时候还支持高级用法,还支持给代码段传递参数,参数传递需要在使用template标签时给data属性传递,data是一个对象
坑:import支持嵌套的,例如,当前import.wxml导入了asset.wxml,在asset.wxml中可以继续嵌套其他wxml文件。
但是:请注意:在当前import.wxml中无法直接使用asset.wxml导入的其他文件中的template。也就是不允许隔代使用
-->
<import src="./asset.wxml"></import>
<!-- 使用特定的代码段(函数) -->
<template is="header"></template>
<view>正文内容</view>
<!-- 给目标代码段绑定一个数据,数据为year,绑定多个用逗号隔开 -->
<template is="footer" data="{{year: 2021}}"></template>
- 运行结果: