論jquery與vuejs結合時的部分問題

2022-09-15 17:51:08 字數 1004 閱讀 7245

最近在寫乙個移動端的單頁面,主要是放置到公司的平板系統上使用,需求如下:

頂部結合左側欄切換導航的頁面,頁面的主體是呈現數量不定的,同時保證頁面整體不可以縮放,但是頁面內部的可以縮放,頂部的每乙個導航項對應左側的乙個導航欄,左側的乙個導航項對應乙個序列的。

基於以上的需求,我選擇了以下的庫進行實現:

1、jquery:主要用它的選擇器功能,和事件註冊

2、vuejs:主要是為了方便資料渲染的方便

3、pinchzoom:是乙個支援多點手勢觸控進行元素縮放和拖拽的js庫。(

a.其使用條件為,依賴jquery庫或者zepto庫;

b.瀏覽器對ecma5支援

4、swiper:橫向或者縱向的導航項可能超過一螢幕,所以還需要考慮列表拖動

整體規劃好之後就開始實現了,實現的過程中碰到一些坑,如下:

1、vuejs中對設定src屬性時,不是直接通過

的形式,而是使用

的形式,如果通過前者會報js錯誤;

2、乙個dom元素在通過pinchzoom初始化構建之後,會在本身的外層包裹一層div元素,為pinch-zoom-container,元素本身也會被加上一些樣式屬性,如被設定成絕對定位,被進行縮放控制,被進行平移控制,而pinchzoom本身所提供的介面有限,沒有destroy之類的方法,所以我轉而考慮使用jquery找到由pinchzoom生成或者被其處理過的元素,將其全部remove掉。然後通過jquery構建新的dom元素,並對新的dom元素放置其內部內容,然後pinchzoom對新的dom元素進行初始化;

3、通過jquery改變vuejs例項中的$data物件之後,資料反映到文件中需要一小段時間,這段時間由vuejs決定,vuejs例項含有乙個$nexttick方法,要在資料改變後繼續執行與改變後的文件相關的邏輯,這些邏輯需要被放置到$nextick方法中才足夠安全。例如,我通過vuejs改變左側的導航欄目相關的資料,然後對左側的導航欄目中dom註冊swiper拖動控制,這個註冊swiper拖動控制的**就需要放置到vuejs例項的$nexttick方法的**函式中。

vuejs怎麼和thinkphp結合

vue在服務端部署時,我們都知道通過npm run build 指令打包好的dist檔案,通過http指定是可以直接瀏覽的,thinkphp通過網域名稱指向index.php檔案才可以瀏覽。要使前端正常呼叫後端資料。有兩種方法 1 前端跨域呼叫後端資料。2 前端打包檔案部署在後端的伺服器資料夾下 同...

結合php PHP與jQuery結合的功能

主要問題難點在於 獲取後台填充資料沒問題,但是當後台資料已失效,前台資料已獲取後,這種歷史遺留資料處理比較棘手,原來的資料填充和釋放只針對後台所有的資料,沒有把版本迭代後的狀態考慮進去,這裡的主要問題就是當使用者不重新整理頁面,還要解決後台傳輸的無效資料和有效資料的區分,不會在前台展現有效資料把無效...

bootstrap與jQuery結合的動態進度條

此款進度條實現的功能 1.利用了bootstrap的進度條元件。a.在最外層的中加入class progress,在裡層加入class progress bar從而實現基本的進度條。b.在外層中加入class progress striped實現條紋進度條。c.在內層加入class progress...