<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網 責編:小采 時間:2020-11-27 22:03:25
        文檔

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

        vue與原生app的對接交互的方法(混合開發):小伙伴們在用vue開發h5項目特別是移動端的項目,很多都是打包后掛載在原生APP上的,那就少不了與原生交互了,我最近就是在坐這個,踩了一些坑,拿出來給大家分享下。 0.通過url傳輸數據:(一般是在入口頁面傳下app的用戶信息進來供vue h5使用) met
        推薦度:
        導讀vue與原生app的對接交互的方法(混合開發):小伙伴們在用vue開發h5項目特別是移動端的項目,很多都是打包后掛載在原生APP上的,那就少不了與原生交互了,我最近就是在坐這個,踩了一些坑,拿出來給大家分享下。 0.通過url傳輸數據:(一般是在入口頁面傳下app的用戶信息進來供vue h5使用) met

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

        0.通過url傳輸數據:(一般是在入口頁面傳下app的用戶信息進來供vue h5使用)

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

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

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

        // 將vue組件的要回調的函數暴露出去
        mounted:function(){
         
         // 將subscanQRCallBack方法綁定到window下面,提供給外部調用
         window['scanQRCallBack'] = (result) => {
         this.subscanQRCallBack(result)
         }
         
         },
        
        methods:{
         scan(){
         // alert('開始掃碼了')
         window.client.startScanQR('OS與js交互',scanQRCallBack)  // 通過window調用app提供的client對象
         },
        
         subscanQRCallBack(result){
         // alert('掃碼結果6466:'+result);
         this.scanPost(result)
         },
        }
        
        

        由交互引發的對vue生命周期的思考

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

        1、created

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

        2、mounted

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

        3、created+mounted

        created內掛載方法,mounted內調用交互,結果:我的ios12無異常,幾乎以為成功時,ios10還是發生了閃退,猜測ios12的webview對此問題進行了優化,考慮兼容性,方案不可行。

        4、延時

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

        5、window.onload

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

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        vue與原生app的對接交互的方法(混合開發):小伙伴們在用vue開發h5項目特別是移動端的項目,很多都是打包后掛載在原生APP上的,那就少不了與原生交互了,我最近就是在坐這個,踩了一些坑,拿出來給大家分享下。 0.通過url傳輸數據:(一般是在入口頁面傳下app的用戶信息進來供vue h5使用) met
        推薦度:
        標簽: VUE VUE開發 交互
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲乱码日产精品BD在线观看| 亚洲AV无码国产精品色午友在线| 亚洲国产第一站精品蜜芽| 国产AV日韩A∨亚洲AV电影| 少妇亚洲免费精品| 国产免费观看a大片的网站| 亚洲日本VA午夜在线电影| aa级毛片毛片免费观看久| 亚洲日韩在线观看免费视频| 亚洲AV美女一区二区三区| 亚洲va在线va天堂成人| 国产在线a免费观看| 亚洲精品123区在线观看| 免费观看的av毛片的网站| 亚洲女同成av人片在线观看| 精品在线免费观看| 亚洲欧洲精品久久| 亚洲四虎永久在线播放| 美女被艹免费视频| 久久久久国色AV免费观看性色| 久久精品国产亚洲Aⅴ蜜臀色欲| a毛片成人免费全部播放| 欧洲精品成人免费视频在线观看 | 亚洲人成免费网站| 好吊妞788免费视频播放| 国产亚洲精品2021自在线| 亚洲线精品一区二区三区影音先锋| 午夜理伦剧场免费| 亚洲av无码专区首页| 成人免费AA片在线观看| 亚洲第一成年男人的天堂| 亚洲一区无码中文字幕 | 日韩精品久久久久久免费| 亚洲AⅤ无码一区二区三区在线 | 自拍日韩亚洲一区在线| 国产乱弄免费视频| 无码少妇精品一区二区免费动态| 亚洲mv国产精品mv日本mv| 91人人区免费区人人| 无码乱人伦一区二区亚洲一| 最近中文字幕无免费视频|