關於vue中的 this
這是vue文檔里的原話:
所有的生命周期鈎子自動綁定 this 上下文到實例中,因此你可以訪問數據,對屬性和方法進行運算。這意味着你不能使用箭頭函數來定義一個生命周期方法 (例如 created: () => this.fetchTodos())。這是因為箭頭函數綁定了父上下文,因此 this 與你期待的 Vue 實例不同,this.fetchTodos 的行為未定義。
示例分析

示例定義了兩個message。一個是全局變量,即window.message,它的值為英文“Hello!”。另外一個是vue實例的數據message,它的值為中文的“你好!”。
運行結果如下

第一個輸出英文"Hello!”,第二個輸出中文“你好!”。這說明了showMessage1()里的this指的是window,而showMessage2()里的this指的是vue實例
showMessage1()
對於普通函數(包括匿名函數),this指的是直接的調用者,在非嚴格模式下,如果沒有直接調用者,this指的是window。showMessage1()里setTimeout使用了匿名函數,this指向window。
showMessage2()
箭頭函數是沒有自己的this,在它內部使用的this是由它定義的宿主對象決定。showMessage2()里定義的箭頭函數宿主對象為vue實例,所以它里面使用的this指向vue實例。
綁定vue實例到this的方法

對setTimeout()里的匿名函數使用bind()綁定到vue實例的this。這樣在匿名函數內的this也為vue實例。
把vue實例的this賦值給另一個變量再使用

這里吧表示vue實例的this賦值給變量self。在使用到this的地方改用self引用。
vue.js中this為什么可以訪問屬性的屬性
因為el、data、computed都應該理解為Vue對象的聲明對象內容的關鍵字,而不是它的直接屬性。
那么在data聲明的就是它(vm本身)的數據屬性,在computed中聲明的就是它的計算屬性,在methods中聲明的就是它的方法。
vue 在初始話的過程中把 data 復制到了它的實例上
想看實現可以看源碼
https://github.com/vuejs/vue/blob/9f6c23f8c40969aad5d1f5c1407829ea4510a763/src/instance/internal/state.js#L79
vue中封裝jsonp方法
首先 肯定要安裝jsonp 模塊
終端運行npm install json安裝這個包
然后引入jsonp函數
import myJsonp from jsonp
export defalut function Jsonp (url ,data , option) // data為傳入的參數對象,option就是原jsonp模板的opts
我們創建一個 jsonp的方法

接下來就是拼接參數函數了,同樣我們創建一個方法
話不多說 直接上代碼

關於調用

參數 寫上直接調就行了
