发布网友 发布时间:2022-04-23 04:44
共2个回答
懂视网 时间:2022-05-14 21:19
1 app.js 里面注册一个监听登陆页面登录成功的事件
步骤如下:
注册一个监听登录成功的事件
// 引入 broadcast const { broadcast } = require('utils/util') // 注册一个监听登录成功的事件 // 在login页面执行 broadcast.on('login_success', function () { wx.redirectTo({ url: `/pages/${name}/index` }) })
在 login 页面登录成功后,触发该事件
// 引入 broadcast var { broadcast } = require('../../utils/util') // 触发事件 login_success broadcast.fire('login_success')
2 在商品报损页注册一个监听报损商品 code 的事件
这个例子主要体现了使用 broadcast.fire 进行传参的功能
// 引入 broadcast var { broadcast } = require('../../utils/util') // 触发事件 setBrokenBikeCode // "bikeid": "0100010010" broadcast.fire('setBrokenBikeCode', '0100010010')
// 引入 broadcast var { broadcast } = require('../../utils/util') ... function next (bikecode) { that.setData({ bikecode }) } ... // 注册事件 setBrokenBikeCode broadcast.on('setBrokenBikeCode', (bikecode) => { next(bikecode) })
3 适当的时候使用 broadcast.on 的时候需要绑定 this 值
绑定方式1:
var that = this broadcast.on('showRiding', function() { console.log(this) // 值为null that.showRiding() })
原因:如上代码可见,在 broadcast.on 里面打印出的 this 值为 null,在这个函数体内 this 指向不明确所以值为 null。通常我们需要特意绑定 this, 然后才能使用
绑定方式2:
推荐使用
broadcast.on('showRiding', function() { this.showRiding() }.bind(this))
相关文章:
微信小程序开发注册页面的介绍
微信小程序页面间跳转如何监听事件
热心网友 时间:2022-05-14 18:27
1、设置id的方法标识跳转后传递的参数值;
2、通过使用data - xxxx 的方法来标识要传递的值 微信小程序设置id的方法标识来传值在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,比如一部电影的id(后面带着id去下一个页面查询,详细信息)如:
后我们在js的bindtap的响应事件中获取,并传递到下一个界面中;
获取到id传的值
通过e.currentTarget.id;获取设置的id值,并通过设置全局对象的方式来传递数值,
获取全局对象 var app=getApp(); //设置全局的请求访问传递的参数 app.requestDetailid=id;
提示:其实我们也可以在,wxml中查看到我们设置的每一个item的id值
通过使用data - xxxx 的方法标识来传值通过使用data - xxxx 的方法标识来传值,xxxx可以自定义取名 比如data-key等等都可以。
如何获取data-xxxx传递的值?
在js的bindtap的响应事件中:
通过数据解析一层层找到数据,var id=e.target.dataset.id(根据你的data-id的取名)
微信小程序如何跨页面获取值?
依据上面的方式设置要传递的值,页面跳转后,我们就需要在下一个页面拿到传递的数据(这个数据在传递前,就已经被设置成全局变量)
在跳转后的js页面,接收传递过来的数据detail.js
同样通过全局额方式取值出来,(即和app.js中取某个变量的值是一样的)
var movieid=getApp().MovieDetailid;
console.log(movieid);
到此为止,我们数值传递并接收成功,后面就可以根据我们接收的参数,进行进一步的操作了。