微信小程序数据传递方式

1、在一个页面上的数据从视图层传递到逻辑层,可以用标签的data-xx属性的形式设置某一个值,再在逻辑层中用currentTarget.dataset.xx取出来。(鉴于currentTargettarget的区别,只对事件绑定了的元素的某一属性取值)

2、逻辑层到视图层的数据传递,用

this.setData({ 
    nameInWXML : nameInJS 
})

把在js某一方法取到的值赋给一个新的参数,这个新的参数的名字存在js文件的

data:{
    nameInWxml: ""
 }

中,且可以在wxml页面用

<view>{
   
   { nameInWXML }}</view>

来获取到。

3、两个不同js页面之间的传值:这里以wx.navigateTo为跳转方式,具体视情况而定。

传递:

wx.navigateTo({ 
    url:"../index/index?id=" + this.data.name
}) 

这里将存在页面data中的name,以id的命名传给index页面。

接收:在接收页面index的onLoad方法中,

onLoad: function(options){ 
    console.log(options.id);
}

  就可以直接拿到传递过来的名为id的参数。

4、不同页面传多个参数:用 "+" 将两个值相连即可。

wx.navigateTo({ 
    url:"../index/index?id=" + this.data.name + "&sex=" + this.data.sex 
})

  这样就将id = this.data.name、sex = this.data.sex这两个值传给了index页面。

  同理,用

onLoad: function(options){ 
    console.log(options.id);
    console.log(options.sex);
}

  就可以拿到传进来的值了。

猜你喜欢

转载自blog.csdn.net/michaelxuzhi___/article/details/100589596