微信小程序template模版的使用方法
前言
小程序開發(fā)語言雖然只能運行在微信小程序中, 但是它的設(shè)計同樣遵循了主流前端框架的主要特征——組件化,在小程序中組件化的實現(xiàn)有兩種方式: template 模版 和 Component 組件。 這兩種方式分別適用于不同的場景。
- template 模版 主要用于展示,模版中不涉及事件處理, 需要處理的事件邏輯放在調(diào)用模版的頁面中。 一個 template 模版 只包含 wxml wxss 文件。
- Component 組件 作為一個單獨的功能模塊,不僅可以包含頁面展示還可以包含該模塊的事件邏輯處理。 像一個頁面一樣, Component 組件 可以包含 wxml wxss js json 文件。
1. 創(chuàng)建 template 模版
不同于 page 和 Component 的創(chuàng)建, 在開發(fā)者工具中并不能快速創(chuàng)建一個 template 模版。所以需要單獨創(chuàng)建 wxss wxml 文件。

template.wxml 文件語法
一個 template.wxml 文件中使用 <template> 標簽包含一個模版, 一個 template.wxml 文件可以包含多個 <template>模版, 使用 name 屬性作為模版的名稱。
在模版中可以接受變量, 使用 {{}} 展示。 為變量的傳遞者由調(diào)用該模版的頁面?zhèn)鬟f。
<template name="A">
<text>template name: {{name}}</text>
</template>
<template name="B">
<text>template name: {{name}} {{msg}}</text>
</template>
template.wxss 模版樣式文件
模版可以擁有自己的樣式文件
text{
color: #cccccc;
}
2. 引用 template 模版
- template 模版的引用需要使用 <import> 標簽。 該標簽的 src 屬性為需要引用模版的路徑。
- template 模版的使用用 <template> 標簽。 使用 is 屬性來區(qū)別模版文件中定義的模版。
- 使用 data 傳入模版中的數(shù)據(jù)。
index.wxml
<import src="../tpls/template.wxml" />
<view>
<template is="A" data="{{name}}"/>
<template is="B" data="{{name, msg}}"/>
<view>
3. 引用模版樣式
在 調(diào)用頁面的 wxml 中引用了 template.wxml 后,模版的樣式并不會引用, 需要在調(diào)用頁面的 wxss 中單獨引用 template.wxss 文件。
index.wxss
@import "./tpls/template.wxss"
4. 模版文件中的事件處理
在模版中定義的事件, 需要調(diào)用頁面中執(zhí)行。
template.wxml
<template name="A">
<text bindtap="handleTap">template name: {{name}}</text>
</template>
index.js
Page({
data: {},
handleTap() {
console.log('template 模版 click')
}
})
5. import 有作用域
import 有作用域的概念,即只會 import 目標文件中定義的 template,而不會 import 目標文件中 import 的 template,簡言之就是 import 不具有遞歸的特性。
例如:C 引用 B,B 引用A,在C中可以使用B定義的 template,在B中可以使用A定義的 template ,但是C不能使用A定義的template
6. include 配合 template 模版
如同使用 <import src="xx/xx/xx.wxml"> <tempalte is="A" /> 引用和使用模版一樣, 同樣也可以使用 <include src="xx/xx/xx.wxml />" 來引用一個模版。
需要注意的是:
- 使用 <include> 引用模版文件時, 并不能分別出模版文件的模版塊, 所以使用 <include> 引用的模版文件中只能定義一個模版塊。
- include 可以將目標文件中除了
<template/> <wxs/>外的整個代碼引入,相當于是拷貝到 include 位置。
<!-- index.wxml --> <include src="header.wxml"/> <view> body </view> <include src="footer.wxml"/>
<!-- header.wxml --> <view> header </view>
<!-- footer.wxml --> <view> footer </view>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關(guān)文章
JavaScript獲取地址欄參數(shù)的方法實現(xiàn)
這篇文章主要給大家介紹了關(guān)于JavaScript獲取地址欄參數(shù)的方法實現(xiàn),項目中經(jīng)常遇到獲取上個頁面跳轉(zhuǎn)過來獲取當前的參數(shù),文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2023-07-07
JavaScript金額運算出現(xiàn)精度丟失問題的解決方案
在 JavaScript 中,浮點數(shù)運算可能會產(chǎn)生精度丟失的問題,尤其在處理 金額計算 時,本文為大家整理了一些常用方法,有需要的小伙伴可以根據(jù)需求進行選擇2025-03-03
js實現(xiàn)鍵盤上下左右鍵選擇文字并顯示在文本框的方法
這篇文章主要介紹了js實現(xiàn)鍵盤上下左右鍵選擇文字并顯示在文本框的方法,涉及javascript操作鍵盤事件及文本框的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2015-05-05
js 編碼轉(zhuǎn)換 gb2312 和 utf8 互轉(zhuǎn)的2種方法
這篇文章介紹了gb2312 和 utf8 互轉(zhuǎn)的JS方法,有需要的朋友可以參考一下2013-08-08

