1. 程式人生 > >vue開發元件時踩過的一些坑

vue開發元件時踩過的一些坑

開發vue元件踩過的坑

前言

近期又完成一個vue專案,公司好像十分看好vue框架,之後的幾個專案也準備使用vue框架。然而回想起之前,使用vue開發元件時遇到的各種bug,心中一陣後怕。在此記錄下那些填坑的歷程,方便以後查閱。

問題

  1. input輸入出現白屏問題
    專案要求header部分固定,main部分可以滾動,css3實現main的css:

    .main{
           overflow: hidden;
           height: calc(100vh - 40px);
           position: relative;
           ....         
        }

    聚焦時,鍵盤彈起,螢幕滾動,因此出現白屏。
    只需在main的樣式中加上:transform: scale(0);
    推薦一篇transform對position影響的部落格,CSS3 transform對普通元素的N多渲染影響

  2. scroller元件出現白屏問題
    專案中使用了better-scroll實現一個上拉載入更多和下拉重新整理的元件,測試發現部分手機,無法顯示列表。具體原因目前不清楚,但是估計是better-scroll使用了transform的鍋。一開始以為是部分手機不支援calc計算,因此在元件的計算屬性裡計算出螢幕高度,然並卵。可是,將計算的高度發在vue鉤子函式mounted中,竟然起作用了,太神奇了

  3. input[type=file]上傳 圖片問題
    開發上傳圖片元件時,input[type=file]會呼叫原生相簿或者相機,由於安卓和IOS對系統的保護,遮蔽了input[type=file]的功能,這個需要原生程式碼實現
  4. JSON資料量很大(約1.5M),卡屏問題
    開發tree元件時,正常情況使用v-show來控制tree的摺疊和展開,由於資料量很大,出現卡屏問題。網上搜索了一下,v-if在這種情況會比v-show效能更好。
    使用v-if出現當摺疊起來的元素被選中時,其子元素沒被選中。這時需要操作資料來源,將其設定為選中狀態。

相關推薦

vue開發元件一些

開發vue元件踩過的坑 前言 近期又完成一個vue專案,公司好像十分看好vue框架,之後的幾個專案也準備使用vue框架。然而回想起之前,使用vue開發元件時遇到的各種bug,心中一陣後怕。在此記錄下那些填坑的歷程,方便以後查閱。 問題 inpu

前端開發工具Brackets介紹,安裝及安裝Emme插件

module 文件 不想 現在 div 當前 user 沒有 -s   對於前端開發的園友來說有可能IDE工具有很多,層次不窮,還有每個人的喜好及習慣也不一樣,因為我是一名後端開發的.Net程序員,但是大家都知道,現在都提倡什麽全棧工程師,所以也得會點前端開發,所以我對於

我2018年開始Django開發

作者:Luan Nguyen副標題:Django - 當你開始一個新專案時要注意的地方 - 2018年更新譯者:首席IT民工現在回想起來,如果在開始Django之旅的時候我注意了這幾個地方,會省去我大量的時間和精力。延伸閱讀(Too Long To Read): 注意使用co

微信小程序開發過程中集合,沒有解決不了的錯誤,只有不完的

pac 清除 bind ren 透明 .json 配置 reac 之間 微信小程序開發過程中踩過的坑,包含很多小程序開發細節,有些可能你也踩過。。。1、height:auto; 失效,必須指定 image 的高度為具體數值,不然高度為0。2、真機和模擬器的問題總結 inp

python與C,在寫程序!

dex 自動 臨時 字符串 ict 不同 size 初始化 存儲 1. python與C有很多相似之處, 其一就是指針的大量應用, 因此在使用臨時變量保存數據, 並將臨時變量傳遞給其他變量時需要創建內存; 例如,在C中, char *temp 每次獲取到不同的

說說配置gitlab的webhook

之前把公司的版本管理從svn換到了gitlab,用的各種舒適,但是,我的上線屬於手動上線,先在本地git push到主分支,再到線上環境去執行git pull命令把程式碼拉取下來。 如何能做到自動部署呢? 答案是webhook。 有關如何配置webhook,推薦文章https://www

iOS開發中曾經

  3.NSString使用stringWithFormat拼接的相關知識 保留2位小數點 //.2代表小數點後面保留2位(2代表保留的數量) NSString *string = [NSString stringWithF

記錄初學者學習Hive

1. 缺少MySQL驅動包 1.1 問題描述   Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFoundException: The specified datastore

vue中eventbus被多次觸發(vue中使用eventbus)【bus.$on事件被多次繫結】

  問題描述:只要頁面沒有強制重新整理,存在元件切換,bus.$on方法會被多次繫結,造成事件多次觸發   觸發bus.$on中繫結的方法.png

[問題解決]RedHat7更換CentOS7的yum源

更換yum源的流程 檢視當前yum程式 $ rpm -qa|grep yum 這裡推薦將其結果截圖或拷貝出來,以免後面報錯修復。 刪除原有yum源 $ rpm -aq | grep yum|xargs rpm -e --nodeps

記錄用VMware建立cloudera的整合虛擬環境---打不開vmx檔案

前言:由於最近在打算學習Hadoop的整合虛擬環境和Linux作業系統,便開始安裝虛擬機器準備著學習環境,可是中間卻跳入了很多坑,於是上網搜啊,請教前輩之類的,都沒有弄好,後來無意中點的, 竟成了。 只是記錄下中間過程。 我的問題: 直接在vmware裡開啟虛擬機器檔案出

yarn 上提交shell 指令碼

遇到一個坑爹的問題,用yarn 跑一個自己寫的指令碼,提示失敗,錯誤結果如下 16/12/22 16:47:47 INFO distributedshell.Client: Initializing Client 16/12/22 16:47:47 INFO

vue中eventbus被多次觸發(vue中使用eventbus

一開始的需求是這樣子的,我為了實現兩個頁面元件之間的資料傳遞,假設我有頁面A,點選頁面A上的某一個按鈕之後,頁面會自動跳轉到頁面B,同時我希望將頁面A上的某一些引數攜帶過去給頁面B。(我知道,小引數的時候可以通過路由的params或者query去傳引數,或者大型資料可以用v

網路調參(長期更新)

1.學習率大小的設定 一般情況下,當網路收斂到一定程度時,loss曲線的變化不明顯,並出現上下的小幅度波動,這時候可以考慮調小學習率,幫助網路進一步收斂到最優值。如下圖所示: 但有些情況,網路看似收斂了,但實際上是到了某些平坦的曲面,離最優值還有一段距離。典型的los

Redis 叢集

建立完成redis例項後,使用redis-trib.tb來新建叢集 redis-trib.rb create --replicas 1 127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.

Vue專案開發一些問題和

父元件修改子元件data資料 以及 父元件呼叫子元件定義的方法 —— ref 子元件: <template> <div class="keyboard-wrapper" :class="isShow"></div> </t

vue專案開發

一、路由 這兩天移動端的同事在研究vue,跟我說看著我的專案做的,子路由訪問的時候是空白的,我第一反應是,不會模組沒載入進來吧,還是。。。。此處省略一千字。。。 廢話不多說上程式碼 路由程式碼 { path: '/list', name: '列表', component:

吐槽小程式開發,以及一些解決方法

網路請求相關 bug: http狀態碼不管是什麼,一律被解析成200 要真正解決,只能等官方去fix這個bug了. 發出請求需要注意的幾個細節 1.header要設定正確: get請求時為 header:{ "co

回顧vue開發spa(記錄)

url 如果 after 本質 {} spa 不能 cnblogs 所有     使用vueJS開發前端頁面差不多也有大半多年了。由於項目後臺管理頁面最早都是使用JQ進行開發的,剛開始使用vue的時候,只能是直接在頁面裏面引入vueJS框架進行開發,期間把項目後臺的編輯頁面

VUE使用中

前言 vue如今可謂是一匹黑馬,github star數已居第一位!前端開發對於vue的使用已經越來越多,它的優點就不做介紹了,本篇是我對vue使用過程中以及對一些社群朋友提問我的問題中做的一些總結,幫助大家踩坑。如果喜歡的話可以點波贊,或者關注一下,希望本文可以幫到大家!!! ----------我是分