關於Vue頁面JS+JQ沒法調用頁面方法與data

1、
在使用vue開發的過程當中不免要整合第三方js或者jq。
可是整合後的js與jq沒法使用vue頁面裏面的方法與data。
時常發生明明在同一個vue頁面裏面卻沒法調用到方法屬性。
其實這是你的調用方式不對。
我遇到過的就是jquery-contextmenu的右擊事件問題
這是咱們要付給右擊事件的操做,selector是id,items是右擊事件 觸發的方法在下面(這裏的callback回調函數,方法.call(自己的this,參數S)的意思是:在這個方法裏調用其餘對象的方法,以其餘對象替代自己對象)
圖片描述
2、
這是觸發事件的定義在data裏面定義箭頭函數,而後傳給上圖的方法裏
圖片描述vue

而後咱們來看一下效果,當我點擊添加節點能夠運行可是單擊添加子節點報錯了。這是由於函數建立了本身的this,因此沒法獲取到咱們想要的。而箭頭函數不會建立本身的this,它只會從本身的做用域鏈的上一層繼承this。因此能訪問到咱們所定義的屬性值。
圖片描述
3、
觸發方法調用不能使用function(){}
須要使用()=>{}的方式,這個ES6特有的寫法。es6 箭頭函數不會有新的做用域
若是你是在第三方js中要調用vue頁面的data、methods的話必須先以參數的形式轉過去,而後在根據參數調用。而後vue頁面就是如上所述的那種寫法。jquery

箭頭函數文檔es6

相關文章
相關標籤/搜索