最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用mui遇到的坑及解決

 更新時間:2022年03月26日 16:59:13   作者:qq_41730816  
這篇文章主要介紹了vue使用mui遇到的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用mui遇到的坑記錄

主要用到webpack打包工具與mui,mint ui,其中mui有不少坑,在此記錄

先是用mui的tab組件做了個底部選項卡,如下

不錯,樣式還行,但是后期發(fā)現(xiàn)切換選項的時候會報錯Unable to preventDefault inside passive event listener due to target being treated as passive,如下

但是這個錯誤并不會影響運行 ,但是我有強迫癥,查閱資料發(fā)現(xiàn)是touch事件不能偵聽preventDefault的問題,就是觸發(fā)觸摸事件時候引起的問題,可以簡單點給通配選擇器加個樣式touch-action:none,發(fā)現(xiàn)成功解決。

之后根據需求需要一個橫向滾動的導航欄,大概長這樣

要求可以區(qū)域滾動,mui很友好 的給我們提供了這個組件,當然目前這個橫向滾動的例子似乎沒在官網上,需要我們下載官方的文檔,github網址https://github.com/dcloudio/mui 里面可以找到這個案例

路徑可以在圖中看到,可以雙擊點開查看

廢話不多說,然后官方要求加載js文件,ok直接引入,之后我用webpack打包后發(fā)現(xiàn)報錯了

Uncaught TypeError: ‘caller’,‘callee’,and ‘arguments’ properties may not be accessed on strict mode

于是查閱資料發(fā)現(xiàn)webpack默認使用js的嚴格模式,但mui有些并不是嚴格模式,所以需要修改一下,安裝babel包 并進入 .babelrc 文件 添加代碼

transform-remove-strict-mode

問題解決,之后又需要指定初始化滾動位置,根據官方文檔需要使用scrollTo(x,y,time)函數,ok,直接復制過來,問題來了,

Uncaught TypeError: (0 , _muiMin2.default)(…).scroll(…).scrollTo is not a function

找了半天資料發(fā)現(xiàn)要在mounted鉤子函數中使用,因為在此之前改組件還未完全渲染完成,放created中都不行(我大多數時候習慣在created中處理業(yè)務)。

可是問題又來了,頭都要爆炸了,設置初始滾動位置后,發(fā)現(xiàn)滑動一下就空白了,后來發(fā)現(xiàn)是scrollTo的參數要求要數字類型,而我給的是字符串類型,用parseInt轉換一下即可。

隨著我的內容越來越多,出現(xiàn)了滾動條,后面發(fā)現(xiàn)在手機上無法上下滾動,只能左右滾動之前的導航欄組件,后面發(fā)現(xiàn)之前設置的touch-action可以設置多種屬性,于是我發(fā)現(xiàn)了pan-y這個屬性,用于啟用單指垂直平移手勢,設置之后發(fā)現(xiàn),沒有之前的Unable啥的錯誤,也可以上下滾動了。

沒錯,問題又來了,我點擊底部的選項卡發(fā)現(xiàn)不能切換,查閱資料才發(fā)現(xiàn)這是因為類名mui-tab-item沖突的問題

mui的js沖突了,有2種解決方法

方法1

把mui-tab-item 的樣式復制過來,然后改一下類名,可以改mui-tab-item-s之類的不容易混亂

方法2

在主組件中(一般是app組件)加入如下代碼

mounted() {
            mui('body').on('tap', 'a', function () {
                document.location.href = this.href;
            });
        }

注意,一定要在mounted鉤子函數中使用。

還有個小問題,vue的滾動事件問題,若父容器設置了overflow:hidden,使用onscroll綁定事件會無效,若不想改變父容器overflow屬性,可以用

addEventListener('scroll',function(){},true)

注意加上true參數表示捕獲模式(該函數詳情可參考事件冒泡)。

到此,目前已發(fā)現(xiàn)的問題已解決

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue +elementui 導入CSV文件的方式

    vue +elementui 導入CSV文件的方式

    封裝一個公共js方法,使用papaparse解析CSV文件且返回數組格式,下面通過示例代碼介紹vue +elementui 導入CSV文件的方式,感興趣的朋友一起看看吧
    2024-04-04
  • 關于element中el-cascader的使用方式

    關于element中el-cascader的使用方式

    這篇文章主要介紹了關于element中el-cascader的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue滑動解鎖組件使用方法詳解

    vue滑動解鎖組件使用方法詳解

    這篇文章主要為大家詳細介紹了vue滑動解鎖組件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue3項目使用pinia狀態(tài)管理器的使用

    vue3項目使用pinia狀態(tài)管理器的使用

    Pinia是一個專為Vue3設計的現(xiàn)代化狀態(tài)管理庫,本文主要介紹了vue3項目使用pinia狀態(tài)管理器的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • Vue中watch清除過期副作用的案例詳解

    Vue中watch清除過期副作用的案例詳解

    在這里就不過多說watch的用法了,這篇文章主要通過案例帶大家了解一下如何清除過期的副作用。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-01-01
  • vue點擊項目唯一id生成器nanoid的使用方式

    vue點擊項目唯一id生成器nanoid的使用方式

    這篇文章主要介紹了vue點擊項目唯一id生成器nanoid的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue3中封裝Axios請求及在組件中使用詳解

    vue3中封裝Axios請求及在組件中使用詳解

    目前前端最流行的網絡請求庫還是axios,所以對axios的封裝很有必要,下面這篇文章主要給大家介紹了關于vue3中封裝Axios請求及在組件中使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • 強大Vue.js組件淺析

    強大Vue.js組件淺析

    這篇文章主要為大家介紹了Vue.js組件,組件是Vue.js最強大的功能之一,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 詳解keep-alive組件緩存

    詳解keep-alive組件緩存

    keep-alive是Vue中一個非常有用的特性,它可以幫助我們避免重復渲染和減少組件的渲染次數,從而提高應用程序的性能,本文給大家介紹keep-alive組件緩存的相關知識,感興趣的朋友一起看看吧
    2024-01-01
  • vue-cli腳手架引入彈出層layer插件的幾種方法

    vue-cli腳手架引入彈出層layer插件的幾種方法

    layer.js(mobile)是一個小巧方便的彈出層插件,在之前的apicloud項目中被大量使用,但最近對apicloud的IDE、非常不友好的文檔和極低的開發(fā)效率深感厭煩,決定棄用然后轉向Vue開發(fā)。這篇文章主要介紹了vue-cli腳手架引入彈出層layer插件的幾種方法,需要的朋友可以參考下
    2019-06-06

最新評論

雅江县| 东阿县| 广宁县| 安新县| 合肥市| 万荣县| 高清| 垣曲县| 调兵山市| 新干县| 姜堰市| 宁海县| 开鲁县| 镇坪县| 巩留县| 湘潭县| 哈尔滨市| 巴林右旗| 晴隆县| 桦川县| 双桥区| 灯塔市| 墨竹工卡县| 于都县| 四会市| 铁岭市| 百色市| 吉水县| 合江县| 沭阳县| 沈丘县| 富蕴县| 岳西县| 永德县| 开鲁县| 万年县| 怀集县| 洪雅县| 新宾| 洪洞县| 嵊州市|