微信小程序實現給嵌套template模板傳遞數據的方式總結
更新時間:2017年12月18日 10:42:30 作者:anLazyAnt
這篇文章主要介紹了微信小程序實現給嵌套template模板傳遞數據的方式,結合實例形式總結分析了微信小程序嵌套template模板的定義、調用、參數傳遞及相關使用技巧,需要的朋友可以參考下
本文實例總結了微信小程序實現給嵌套template模板傳遞數據的方式。分享給大家供大家參考,具體如下:
一、template模板調用的數據是單一形態(tài)時:
indexTemplate模板:
<import src="../lookAndCollect-template/lookAndCollect-template.wxml" />
<template name="indexTemplate">
<view class="user-info">
<image class="avatar" src="{{avatar}}"></image>
<text class="name">{{name}}</text>
<text class="date">{{date}}</text>
</view>
<view class="news">
<text class="news-title">{{title}}</text>
<image class="news-img" src="{{newsImg}}"></image>
<text class="news-content">{{content}}</text>
</view>
<template is="reviewAndCollect" data="{{review,look}}"></template>
</template>
lookAndCollect模板:
<template name="lookAndCollect-template">
<view class="lookAndCollect-template">
<view class="lookAndCollect-template-review">
<image src="/smallApp/images/icon/view.png"></image>
<text>{{look}}</text>
</view>
<view class="lookAndCollect-template-look">
<image src="/smallApp/images/icon/chat.png"></image>
<text>{{collect}}</text>
</view>
</view>
</template>
indexTemplate模板在index.wxml中的引用:
<block wx:for="{{newsData}}" wx:for-item="newsItem">
<view class="item">
<template is="indexTemplate" data="{{...newsItem}}" />
</view>
</block>
index.wxml對應的index.js寫法:
var newsDataList = require("../index-data.js");
Page({
data: {
},
onLoad: function (option) {
this.setData({
newsData: newsDataList.dataList
});
}
})
模板中使用單一形式的數據:
var news_data = [
{
listId: "0",
avatar: "/smallApp/images/avatar/1.png",
name: "我是大貓貓",
date: "16分鐘前",
title: "搞事情?法國招聘新特工 會漢語成必備條件",
newsImg: "/smallApp/images/post/crab.png",
content: "是的,你沒看錯,據法國《費加羅報》報道,法國境外安全總局(DGSE)欲在2019年前招募600名新特工,而且新的特工必須年輕、有高等文憑,會多國語言,并且熟悉電腦與互聯網。",
review: "0",
look: "30"
},
{
listId: "1",
avatar: "/smallApp/images/avatar/2.png",
name: "風口上的豬",
date: "1天前",
title: "順豐控股上市次日盤中漲停 離首富差4個漲停",
newsImg: "/smallApp/images/post/bl.png",
content: "根據之前借殼方鼎泰新材發(fā)布的公告,該公司定增完成后,第一大股東將變更為深圳明德控股發(fā)展有限公司(簡稱“明德控股”),持股比例為64.58%,后4名分別為寧波順達豐潤投資管理合伙企業(yè)(有限合伙)…",
review: "100",
look: "380"
}
];
module.exports = {
dataList: news_data
}
如果需要在嵌套的模板中傳入多個數據,可以將每個數據用逗號隔開。
二、嵌套模板調用包括object對象時的調用方法:
模板中使用的數據review和look以對象的形式呈現時:
var news_data = [
{
listId: "0",
avatar: "/smallApp/images/avatar/1.png",
name: "我是大貓貓",
date: "16分鐘前",
title: "搞事情?法國招聘新特工 會漢語成必備條件",
newsImg: "/smallApp/images/post/crab.png",
content: "是的,你沒看錯,據法國《費加羅報》報道,法國境外安全總局(DGSE)欲在2019年前招募600名新特工,而且新的特工必須年輕、有高等文憑,會多國語言,并且熟悉電腦與互聯網。",
reviewAndCollect {
review: "0",
look: "30"
}
},
{
listId: "1",
avatar: "/smallApp/images/avatar/2.png",
name: "風口上的豬",
date: "1天前",
title: "順豐控股上市次日盤中漲停 離首富差4個漲停",
newsImg: "/smallApp/images/post/bl.png",
content: "根據之前借殼方鼎泰新材發(fā)布的公告,該公司定增完成后,第一大股東將變更為深圳明德控股發(fā)展有限公司(簡稱“明德控股”),持股比例為64.58%,后4名分別為寧波順達豐潤投資管理合伙企業(yè)(有限合伙)…",
reviewAndCollect {
review: "120",
look: "300"
}
}
];
module.exports = {
dataList: news_data
}
indexTemplate模板
<import src="../lookAndCollect-template/lookAndCollect-template.wxml" />
<template name="indexTemplate">
<view class="user-info">
<image class="avatar" src="{{avatar}}"></image>
<text class="name">{{name}}</text>
<text class="date">{{date}}</text>
</view>
<view class="news">
<text class="news-title">{{title}}</text>
<image class="news-img" src="{{newsImg}}"></image>
<text class="news-content">{{content}}</text>
</view>
<template is="reviewAndCollect" data="{{reviewAndCollect}}"></template>
</template>
lookAndCollect模板:
<template name="lookAndCollect-template">
<view class="lookAndCollect-template">
<view class="lookAndCollect-template-review">
<image src="/smallApp/images/icon/view.png"></image>
<text>{{reviewAndCollect.look}}</text>
</view>
<view class="lookAndCollect-template-look">
<image src="/smallApp/images/icon/chat.png"></image>
<text>{{reviewAndCollect.collect}}</text>
</view>
</view>
</template>
ps: indexTemplate模板在index.wxml中的引用,以及index.wxml對應的index.js的寫法,同第一種。
希望本文所述對大家微信小程序開發(fā)有所幫助。

