鍍金池/ 問答/HTML/ vue的回調(diào)函數(shù)在哪里注冊激活?

vue的回調(diào)函數(shù)在哪里注冊激活?

請教一下,用vue寫的webapp,項目最后是內(nèi)嵌在一個安卓app里面的,然后安卓app有個函數(shù)供我們調(diào)用他們的接口,也可以讓我們注冊函數(shù)給他們調(diào)用。

現(xiàn)在是這樣的情況,如果說是ractivejs這種框架里面,他們的函數(shù)都是統(tǒng)一寫在index.html里面的js。現(xiàn)在在vue2.0+webpack的框架下,類似的我把原生的函數(shù)寫在util里面暴露出來,成功調(diào)用他們的退出函數(shù),但是我們注冊函數(shù)給他們使用的時候無論是放在util還是放在app.vue里面,都無法成功注冊給安卓app調(diào)用。

我們應(yīng)該把這類函數(shù)放在vue的什么地方才能夠成功注冊函數(shù)給他們調(diào)用。

代碼如下:
1、util.js里面暴露的全局函數(shù)

export function jsBridge(callback) {
  ...
}

2、在相應(yīng)的組件調(diào)用全局函數(shù)退出到他們系統(tǒng),成功調(diào)用

exitSystem:function () {
    util.jsBridge(function(bridge) {
      ...
      });
    })
  },

3、我們要注冊函數(shù)給安卓的回退鍵調(diào)用,函數(shù)如下格式,這個函數(shù)無論放在哪里都沒有成功,請教各位大神知道放在哪里才可以嗎?我想過放mainjs,但是mainjs是整合各種插件用的,按原理來講,放在app.vue是沒有問題的,但是試了都不行,我放過created()鉤子,也放過mounted()鉤子,都沒法調(diào)用,對于vue玩的不是很深,所以這個問題一直很困擾。

jsBridge(function(bridge){
  bridge.registerHandler('他們的接口', function(data, responseCallback) {
    if(){//哪些頁面需要退回到原生
      responseCallback("exit");
    }else{//其他頁面history.back
      this.$router.go(-1)
    }
  });
});
回答
編輯回答
離觴

解決了么,同問

2017年7月9日 13:19