4 回答

TA貢獻1887條經驗 獲得超5個贊
jQuery是使用選擇器($)選取DOM對象,對其進行賦值、取值、事件綁定等操作,其實和原生的HTML的區別只在于可以更方便的選取和操作DOM對象,而數據和界面是在一起的。比如需要獲取label標簽的內容:$("lable").val();,它還是依賴DOM元素的值。
Vue則是通過Vue對象將數據和View完全分離開來了。對數據進行操作不再需要引用相應的DOM對象,可以說數據和View是分離的,他們通過Vue對象這個vm實現相互的綁定。這就是MVVM。

TA貢獻2039條經驗 獲得超8個贊
在Vue.js中使用jquery插件需要利用ProvidePlugin導入jquery全局庫。1、在build/webpack.dev.conf.js和build/webpack.prod.conf.js中配置即可。2、在模塊中使用的時候代碼如下:plugins:[//這里是需要導入的插件列表,定意思jquery為全局參數newwebpack.ProvidePlugin({$:'jquery',jquery:'jquery','window.jQuery':'jquery',jQuery:'jquery'})]也可以使用import的這種寫法:importjQueryfrom'jQuery'ready:function(){varself=this;jQuery(window).resize(function(){self.$refs.thisherechart.drawChart();})},

TA貢獻1797條經驗 獲得超4個贊
e 的官方是不建議直接操作 DOM 的,Vue 的用途在于視圖和數據的綁定。如果通過JQuery 直接操作 DOM 的話,勢必會造成視圖數據和模型數據的不匹配,這樣 Vue 就失去它存在的意義了。
JQuery 和 VueJS 合理使用并不會造成沖突,因為他們的側重點不同,VueJS 側重數據綁定和視圖組件,JQuery 側重異步請求和動畫效果。如果使用JQuery + VueJS 開發,一定要在 Vue 渲染完所有的 HTML組件之后再通過 JQuery 處理,而使用 JQuery 時應避免直接操作 DOM ,但是應用動畫是允許的。
JQuery 與 VueJS 相互配合可以非常高效的完成異步任務,首先通過 JQuery 發出 Ajax 請求,接受到服務端傳遞的 JSON 數據后,再通過 Vue 將數據綁定到組件上,最后由 JQuery 進行動畫處理,整個過程就如行云流水般自然。
說句題外話,Vue 的目的不是取代 JQuery,它是為了解決前后端分離而出現的。如果沒有數據變化,只是單純的樣式變化,則沒有必要去大費周章進行視圖模型的綁定,并且還不利于 SEO 優化。
添加回答
舉報