iOS原生调用VUE页面相互传值
最近公司的项目涉及到了混合开发,需要用VUE写一部分界面,为了更好的交互体验页面的转跳还是用的原生的导航,这就需要本地和JS的数据交互.
一.VUE部分
(关于VUE环境的相关配置请移步至VUE搭建)
本地测试:将VUE的项目运行(npm run dev)起来之后其实就是生成的一个网址,IP就是自己电脑的IP,根据设定好的端口就可以在手机端访问了.
简单的介绍一下VUE的页面实现(VUE的知识自己刚开始学的有错误的地方还请指出QQ:836825312
)一个页面基本上是有三部分组成:
1.html 这部分主要是负责显示控件就是那个lablel啊button这些.
2.CSS 这部分主要是负责控制这些控件的样式,如果设置一下字体的颜色、大小.
3.JS 这部分主要负责实现数据交互.
二.APP部分
因为现在基本上都用WKWebview所以这里接不介绍UIWebView的使用方法了.
大体的流程分为两块
1.OC原生设置webView的相关—->发送数据给VUE—–>VUE收到数据—–>返回数据给OC
2.VUE直接传值给OC
1.WKWebView的相关设置
1 | WKWebview的使用方法 |
1 | //3.创建webView |
1 | //4.实现代理方法,这个方法就是JS调用本地时回调的方法 |
1 | //5.关于VUE的弹窗就是那个Alert需要单独设置不然你会发现在浏览器调试的时候显示但是在APP里面的无法正常显示的,这个是WKUIDelegate |
2.OC传值给JS
webview都设置好了,加载出来数据之后就可以传值了
1 | //这里类似于网络请求你发一个数据给VUE然后它返回一个数据给你 |
3.JS传值给OC
这里需要说明一下,这里其实就是js传值给本地就包含iOS和安卓,所以写VUE的时候要加个判断,根据系统来响应.
1 | var u = navigator.userAgent; |
到这里基本的功能就可以实现了.