微信小程序传值的几种方式

第一种:通过链接传值(跳转页面传值)

index.wxml

<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button>
 
clickMe: function () {//点击事件
wx.navigateTo({
url: '../1111?id=1'//传值
})
this.setData({ msg: "Hello World" })
},
跳传页面接受值
onLoad: function (options) {
console.log('query',options)
},
第二种方式  data-*  ||  id(适合在本页面传值)
 
 
 
<button bindtap="clickMe" data-id='{{key}}'>点击我</button>//当然key在data中必须有值
<button bindtap="clickMe" id='{{key}}'>点击我</button>
 
 
var id = e.currentTarget.id;
var id = e.currentTarget.dataset.id;
console.log(id)

通过使用data - xxxx 的方法标识来传值

通过使用data - xxxx 的方法标识来传值,xxxx可以自定义取名 比my.wxml中的data-index。

如何获取data-xxxx传递的值?
在js的bindtap的响应事件中:
通过数据解析一层层找到数据,var id=e.target.dataset.index(根据你的data-id的取名)

如js中的两个打印就是通过两种不同方式获得的id。

第三种方式本地存储(和第四种一样都是可以全局使用的)

wx.setStorage({
  key:"key",
  data:"value"
})

wx.setStorage({
key: "key",
data: "很多的数据"
})
 
 
第4中方式全局app对象
const app = getApp()
app.datakey='sks';
 
const app = getApp()
var sks = app.datakey;
console.log(sks)
最后添加一种方式是跳转路由,由于本人记性差所以mark
1 goabout :function(){
2       this.$router.push({
3                  path:'/home/first'
4                 })
5 
6     }

 

 

posted @ 2018-12-04 10:05  山外已有山  阅读(7592)  评论(0编辑  收藏  举报