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 關注
- 1273 瀏覽
添加回答
舉報
0/150
提交
取消