Vue和ios、android交互通信

1)原生调用Vue方法

Vue代码

created() {    //Vue的方法给原生调用,则需要把方法挂在Window下面    window.getDataFromNative = this.getDataFromNative;},methods: {  getDataFromNative(params) {    //params: 原生调用Vue时传值(params)给Vue    console.log("得到原生传值结果:" + params);    var dic = {        'name': "vicky"    };    return dic; //回调给原生,可写可不写  }, 

ios调用代码

NSString *toVueSting = @"vickylizy";NSString *jsStr = [NSString stringWithFormat:@"getDataFromNative('%@')",toVueSting]; [self->_wkWebView evaluateJavaScript:jsStr completionHandler:^(id _Nullable d, NSError * _Nullable error) {   NSLog(@"返回---%@",d);//回调值 }];

android调用代码

String toVueSting = "vickylizy"; webView.loadUrl("javascript:getDataFromNative('"+toVueSting+"')");or:webView.evaluateJavascript("javascript:getDataFromNative('" + toVueSting + "')", new ValueCallback() {    @Override    public void onReceiveValue(String s) {        //此方法可以得到回调值    }})

2)Vue调用原生方法

vue调用代码

//vue调用Android方法,且传值给Android (Android方法名为 getDataFormVue)$App.getDataFormVue({      title: this.money, //vue给android传值});   //vue调用iOS方法,且传值给iOS (iOS 方法名为 getDataFormVue)window.webkit.messageHandlers.getDataFormVue.postMessage({    title: this.money, //vue给iOS传值});

ios代码

#pragma mark -WKScriptMessageHandler - (void)userContentController:(WKUserContentController*)userContentController didReceiveScriptMessage:(nonnull WKScriptMessage *)message{     if ([message.name isEqualToString:@"getDataFormVue"]) {         NSLog(@"是什么?---%@",message.body);        //做原生操作    }}

android代码

//Vue调用Android方法webView.addJavascriptInterface(this,"$App");//添加js监听 这样html就能调用客户端 @JavascriptInterfacepublic void getDataFormVue(String msg) {     //做原生操作}

更多相关文章

  1. Android(安卓)通过http访问服务器
  2. android系统自带的intent集锦
  3. android开发教程(八)——环境搭建之android-ndk
  4. Android(安卓)Tthread 建立线程使用方法
  5. Android之Fragments
  6. Android字符串资源
  7. Android——线程创建以及handler
  8. ionic上拉翻页及下拉刷新
  9. Android(安卓)实现TextView字符串关键字变色

随机推荐

  1. 【Android(安卓)开发教程】显示进度对话
  2. ImageView的使用(android)
  3. 打造自己的Android源码学习环境之五:编译A
  4. Android控制软键盘的现实与隐藏
  5. android studio 教你修改Maven仓库地址为
  6. HTC one/M7电信802d 毒蛇ViperOne2.1.0/
  7. Android平台如何确定deconfig及dtsi的总
  8. Android的本地Json解析
  9. Android的ROS开发环境配置(Android+ROS+r
  10. static 和 visibility hidden 的区别