Weex中使用globalEvent,如何调用methods中的方法?代码如下:<script>var globalEvent = require('@weex-module/globalEvent');globalEvent.addEventListener("loginStatus", function (e) { console.log("loginStatusssa:"+e.loginStatus); this.getAnswerListData(1, function(state) {});});module.exports = { ...省略部分代码... methods: { getAnswerListData: function(pageNo, callBack) { var that = this; stream.fetch({ methods: 'GET', url: 'xxx', type: 'json', },function(res) { }) }, }}</script>具体代码就是上面这样,其中globalEvent中的this.getAnswerListData,这个似乎不能用this来调用,该如何嗲用methods中的方法呢?
2 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
推荐一种思路,首先将将你使用的golbalEvent
定义为Promise
,比如:
const event = new Promise((resolve, reject) => {
const globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener("loginStatus", function (e) {
let obj = {
pageNo: 1,
callBack: ()=>{}
};
resolve(obj);
});
})
定义好后,可以使用mixin
将该对象加入到Vue
对象中(如果使用的是Vue进行的开发),接下来就可以在每个页面通过this
获取该Promise
然后做相应的操作了。
潇潇雨雨
TA贡献1833条经验 获得超4个赞
在mounted中写:
mounted: function () {
var self = this;
globalEvent.addEventListener('loginStatus', function (e) {
self.getAnswerListData(1, function(state) {});
});
},
- 2 回答
- 0 关注
- 1235 浏览
添加回答
举报
0/150
提交
取消