外掛程式通常會為 vue 新增全域性功能。外掛程式的範圍沒有限制——一般有下面幾種:1.新增全域性方法或者屬性,如: vue-custom-element
2.新增全域性資源:指令/過濾器/過渡等,如 vue-touch
3.通過全域性 mixin 方法新增一些元件選項,如: vue-router
4.新增 vue 例項方法,通過把它們新增到 vue.prototype 上實現。
5.乙個庫,提供自己的 api,同時提供上面提到的乙個或多個功能,如 vue-router
vue.js 的外掛程式應當有乙個公開方法 install 。這個方法的第乙個引數是 vue 構造器,第二個引數是乙個可選的選項物件:
myplugin.install = function (vue, options)
// 2. 新增全域性自定義指令
vue.directive('my-directive',
...})
// 3. 新增全域性mixin
vue.mixin(
...})
// 4. 新增例項方法
vue.prototype.$mymethod = function (methodoptions)
}
}
import vue from 'vue';
import toastcomponent from './toast.vue';
const toastconstruction = vue.extend(toastcomponent); // 建立vue子類
function showtoast (text, duration = 2000) , duration);
}function registrytoast()
});// 新增全域性指令
vue.directive('show-toast', );
}});}
export default registrytoast;
這樣,乙個簡單的toast外掛程式就做好了!
全域性入口檔案main.js
...
import vue from 'vue';
import mytoast from './plugin/toast';
vue.use(mytoast); // 相當於呼叫外掛程式的 install 方法(如果外掛程式是乙個物件,必須提供 install 方法。如果外掛程式是乙個函式,它會被作為 install 方法。install 方法呼叫時,會將 vue 作為引數傳入。)
...
需要呼叫toast的頁面page/page.vue
...
全域性方法
例項方法
mixin
指令 // 使用指令觸發
...
mvvm實現乙個簡單的vue
vue,基於mvvm模式下的乙個前端框架 mvvm模式下簡單的實現資料 資料劫持 1.是用object.defineproperty 實現資料 2.使用發布訂閱者模式,配合 object.defineproperty,實現資料劫持 資料劫持包括依賴收集和依賴促發 只考慮最簡單的方式,並且沒有包括具體...
製作乙個vue外掛程式
myplugin.install function vue,options 2.新增全域性資源 vue.directive my directive 3.注入元件 vue.mixin 4.新增例項方法 vue.prototype.mymethod function methodoptions 用 b...
vue 封裝乙個外掛程式
1 建立乙個vue元件button button.vue 2 vue.js 的外掛程式有乙個公開方法install方法,第乙個引數是vue構造器,第二個引數是乙個可選的選項物件,我們可以通過這個方法來定義外掛程式button index.js import buttoncom from button...