OC和vue相互调用方法

methods: {
//js调用OC取得数据  成功
 getParams() {
        let params = {
          identify: "3",
        };
        this.$bridge.callhandler(
          "webview_SqlQueryFile",
          JSON.stringify(params),
          data => {
              console.log(data)
          }
        );
       },
//注册供OC调用的js方法
  change() {
      this.$bridge.registerHandler("changeColor", function(
        data,
        responseCallback
      ) {
        alert(data);
        responseCallback();
      });
    },
 }

调用方法

mounted(){
    this.getParams()
    this.change()
}

js端调用OC端方法成功取到了数据
但是我注册的供OC调用的js方法没反应,OC明确表明他已经发出来了请求,注册的JS方法是放在mouted里面等待OC调用吗?

//OC调JS
    NSString *nightMode;
    if ([[ToolKits getToolKits] isNightView]) {
        nightMode = @"1";
    }else{
        nightMode = @"0";
    }
    [_bridge callHandler:@"changeColor" data:nightMode];
阅读 2.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题