首页 热点资讯 义务教育 高等教育 出国留学 考研考公

微信小程序怎么把变量传到另一个页面?

发布网友 发布时间:2022-04-23 04:44

我来回答

3个回答

懂视网 时间:2022-05-14 23:59

这篇文章主要介绍了微信小程序实现给嵌套template模板传递数据的方式,结合实例形式总结分析了微信小程序嵌套template模板的定义、调用、参数传递及相关使用技巧,需要的朋友可以参考下

本文实例总结了微信小程序实现给嵌套template模板传递数据的方式。分享给大家供大家参考,具体如下:

一、template模板调用的数据是单一形态时:

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: "根据之前借壳方鼎泰新材发布的公告,该公司定增完成后,第一大股东将变更为深圳明德控股发展有限公司(简称“明德控股”),持股比例为.58%,后4名分别为宁波顺达丰润投资管理合伙企业(有限合伙)…",
 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: "根据之前借壳方鼎泰新材发布的公告,该公司定增完成后,第一大股东将变更为深圳明德控股发展有限公司(简称“明德控股”),持股比例为.58%,后4名分别为宁波顺达丰润投资管理合伙企业(有限合伙)…",
 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>

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在JS中如何实现网页版计算器

使用JS如何实现小球抛物线轨迹运动

在axios中如何实现cookie跨域

使用JavaScript如何实现二叉树遍历

在JavaScript中如何实现弹性效果

热心网友 时间:2022-05-14 21:07

1、两个页面之间传值,例如点击A页面跳转到B页面,把A页面的变量传到B页面。

2、第一种方法在button上绑定一个点击函数,代码:<button bindtap='tz'>我是A页面</button>。

2、在对应的js文件里面写上跳转代码,并携带参数ID=3。

3、点击一下A页面的button,在B页面就可以收到值了,B页面的options里面是要接收的值。

4、第二种方法就是直接跳转,携带参数直接写在里面。

热心网友 时间:2022-05-14 22:25

有两种方法:

1.使用全局变量

在项目 app.js 中定义 globalData(全局变量)。

App({

globalData:{

userInfo:'angeladaddy'

}

});

在需要的地方,我们可以随意调用这个全局变量。

getGlobalVar:function(){

var that=this;

that.setData({

globalvar_str:JSON.stringify(getApp().globalData)

})

}

当然,赋值也是没问题的。

onLoad:function(options){

getApp().globalData.userInfo+=' is an awesome man';

},

来试试效果:

2.使用模板

在官方文档中,模板的使用需要先定义一个模板,要用到 name 属性。

{{index}}: {{msg}}

Time: {{time}}

接着,使用模板和 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入。比如这样:

给 item 赋值,以显示模板数据。

Page({

data: {

item: {

index: 0,

msg: 'this is a template',

time: '2016-09-15'

}

}

})

这样就解决了页面传值问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com