欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue與原生app的對接交互的方法(混合開發(fā))

 更新時間:2018年11月28日 11:25:25   作者:華猿  
vue開發(fā)h5項目特別是移動端的項目,很多都是打包后掛載在原生APP上的,這篇文章主要介紹了vue與原生app的對接交互的方法,非常具有實用價值,需要的朋友可以參考下

小伙伴們在用vue開發(fā)h5項目特別是移動端的項目,很多都是打包后掛載在原生APP上的,那就少不了與原生交互了,我最近就是在坐這個,踩了一些坑,拿出來給大家分享下。

0.通過url傳輸數(shù)據(jù):(一般是在入口頁面?zhèn)飨耡pp的用戶信息進來供vue h5使用)

methods: {
      // 接收url后的數(shù)據(jù)
      urltext() {
        let loc = location.href;  6         let n1 = loc.length;//地址的總長度
        let n2 = loc.indexOf("=");//取得=號的位置
        let outToken = loc.substr(n2 + 1, n1 - n2);//從=號后面的內(nèi)容
        console.log(loc,n1,n2,outToken)
        this.outTokenPost(outToken) //傳到處理函數(shù)
      },
}

1.原生APP提供一個接口對象的引用(例如一個掃碼的接口,可能還有回調(diào)函數(shù)以獲得掃碼結(jié)果)

思路就是萬物通過window 進行交互

// 將vue組件的要回調(diào)的函數(shù)暴露出去
mounted:function(){
      
        // 將subscanQRCallBack方法綁定到window下面,提供給外部調(diào)用
        window['scanQRCallBack'] = (result) => {
          this.subscanQRCallBack(result)
        }
   
    },

methods:{
      scan(){
        // alert('開始掃碼了')
        window.client.startScanQR('OS與js交互',scanQRCallBack)  // 通過window調(diào)用app提供的client對象
      },

      subscanQRCallBack(result){
        // alert('掃碼結(jié)果6466:'+result);
        this.scanPost(result)
      },
}

由交互引發(fā)的對vue生命周期的思考

開發(fā)時遇到一個經(jīng)典問題,需要在頁面剛載入時與app交互判斷是否顯示一個彈窗??此坪芎唵危M入頁面調(diào)一個交互方法即可,但這個需求的解決經(jīng)歷了幾個步驟:

1、created

因為created時,實例就創(chuàng)建完成了,我開始的選擇是在此生命周期掛載方法并調(diào)用交互,結(jié)果:頁面閃退,猜測:實例雖有,但模板未編譯掛載,app調(diào)用方法失敗導(dǎo)致閃退

2、mounted

第二次將掛載和調(diào)用寫在了mounted內(nèi),結(jié)果:頁面閃退,猜測(誤):掛載和調(diào)用靠的太近,可能方法未掛載完就直接調(diào)用,導(dǎo)致閃退

3、created+mounted

created內(nèi)掛載方法,mounted內(nèi)調(diào)用交互,結(jié)果:我的ios12無異常,幾乎以為成功時,ios10還是發(fā)生了閃退,猜測ios12的webview對此問題進行了優(yōu)化,考慮兼容性,方案不可行。

4、延時

猜測是window沒有加載完便調(diào)用了window下的方法,導(dǎo)致閃退,對交互方法加了1s延時,成功!但體驗一般,因為硬性的定時容易引發(fā)許多不可控的問題,而且彈窗延時的存在導(dǎo)致用戶體驗低下。

5、window.onload

onload 事件會在頁面或圖像加載完成后立即發(fā)生。mounted鉤子里添加代碼window.onload=function(){//調(diào)用交互},在window加載完成以后觸發(fā)交互,而且此時間節(jié)點在vue的生命周期是不存在的,也是在mounted、created鉤子后發(fā)生的,這個原生的方法還是很棒的,完美解決~!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實現(xiàn)五子棋小游戲

    Vue實現(xiàn)五子棋小游戲

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 解決iview table組件里的 固定列 表格不自適應(yīng)的問題

    解決iview table組件里的 固定列 表格不自適應(yīng)的問題

    這篇文章主要介紹了解決iview table組件里的 固定列 表格不自適應(yīng)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue 實現(xiàn)網(wǎng)頁截圖功能詳解

    vue 實現(xiàn)網(wǎng)頁截圖功能詳解

    這篇文章主要介紹了通過vue實現(xiàn)網(wǎng)頁截圖的功能,有興趣的童鞋可以了解一下
    2021-11-11
  • vue中響應(yīng)式布局如何將字體大小改成自適應(yīng)

    vue中響應(yīng)式布局如何將字體大小改成自適應(yīng)

    這篇文章主要介紹了vue中響應(yīng)式布局如何將字體大小改成自適應(yīng),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解基于Vue的支持數(shù)據(jù)雙向綁定的select組件

    詳解基于Vue的支持數(shù)據(jù)雙向綁定的select組件

    這篇文章主要介紹了詳解基于Vue的支持數(shù)據(jù)雙向綁定的select組件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Vue數(shù)據(jù)綁定實例寫法

    Vue數(shù)據(jù)綁定實例寫法

    在本篇文章里小編給大家整理的是關(guān)于Vue數(shù)據(jù)綁定實例寫法以及相關(guān)知識點,需要的朋友們學(xué)習(xí)下。
    2019-08-08
  • Vue傳遞參數(shù)不在URL路徑拼接顯示問題

    Vue傳遞參數(shù)不在URL路徑拼接顯示問題

    這篇文章主要介紹了Vue傳遞參數(shù)不在URL路徑拼接顯示問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 基于Vue2實現(xiàn)簡易的省市區(qū)縣三級聯(lián)動組件效果

    基于Vue2實現(xiàn)簡易的省市區(qū)縣三級聯(lián)動組件效果

    這是一個基于Vue2的簡易省市區(qū)縣三級聯(lián)動組件,可以控制只顯示省級或只顯示省市兩級,可設(shè)置默認值等。提供原始省市縣代碼和名稱數(shù)據(jù),適用于各種有關(guān)城市區(qū)縣的應(yīng)用。需要的朋友可以參考下
    2018-11-11
  • 詳解Vue用cmd創(chuàng)建項目

    詳解Vue用cmd創(chuàng)建項目

    在本篇內(nèi)容里小編給大家整理了關(guān)于Vue用cmd創(chuàng)建項目的方法講解,有興趣的朋友們跟著學(xué)習(xí)下。
    2019-02-02
  • 使用vue制作滑動標簽

    使用vue制作滑動標簽

    這篇文章主要為大家詳細介紹了使用vue制作滑動標簽,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評論