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()
    }
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM