zoukankan      html  css  js  c++  java
  • Vue与原生APP的相互交互

    现在好多APP都采用了Hybrid的开发模式,这种模式特别适合那些内容变动更新较大的APP,从而使得开发和日常维护过程变得集中式、更简短、更经济高效,不需要纯原生频繁发布。但有利肯定有弊咯,性能方面能稍微差一点,还有就是两者之间的交互问题。美团、爱奇艺、微信等知名移动应用,都是采用Hybrid App开发模式。Hybrid开发已成为未来的一种发展趋势。

    1、原生APP与Vue交互

    场景:原生的头部标题栏,内容为H5页面。现在需要在原生头部增加一个时间帅选功能,原生筛选好时间后调用H5的查询方法。

    mounted () {
      /* 将nativeCallToSearch方法绑定到window下面,提供给外部调用 */
      window.nativeCallToSearch = (res) => {
        this.nativeCallToSearch(res)
      }
    }
    
    methods () {
      /**
       * 原生时间筛选
       * @param {string} searchDate 查询的时间
       */
      nativeCallToSearch (searchDate) {
        // do something...
      }
    }
    

    2、Vue与原生APP交互

    场景:H5页面中涉及分享功能(用H5来做分享坑太多),H5实现具体分享的内容,原生只负责分享操作。

    methods () {
      /**
       * 分享微信好友
       */
      goWXFriend () {
        this.$loading.show()
        if (this.androidOrIos === 'android') {
          /* eslint-disable */
          /* 安卓识别不了js对象 */
          javascript: share.shareWX(this.shareObj.link, this.shareObj.linkTitle, this.shareObj.linkContent, this.shareObj.linkImgUrl)
          /* eslint-enable */
          this.$loading.hide()
        } else if (this.androidOrIos === 'ios') {
          /* 将对象转为字符串 */
          window.webkit.messageHandlers.shareWX.postMessage(JSON.stringify(this.shareObj))
          this.$loading.hide()
        }
      }
    }
    
  • 相关阅读:
    Iphone 启动图的尺寸
    Xcode 7真机测试详解
    android 设置textview中划线效果
    IOS应用在iPhone5和iPhone5s上不能全屏显示,应用画面上下各有1条黑色的解决方案
    配置ant编译时的jdk版本
    mac系统下配置aapt环境变量
    iOS中的2x,3x问题
    Android 字体设置-Typeface讲解
    android:json解析的两个工具:Gson和Jackson的使用小例子
    Android App监听软键盘按键的三种方式
  • 原文地址:https://www.cnblogs.com/darkerxi/p/10725260.html
Copyright © 2011-2022 走看看