本篇文章主要介紹了vue自訂全域元件並透過全域方法Vue.use() 使用該元件,具有一定的參考價值,有興趣的小夥伴們可以參考一下
簡介
Vue.use( plugin ):安裝Vue.js 外掛程式。如果插件是一個對象,必須提供 install 方法。如果插件是一個函數,它會被當作 install 方法。 install 方法將會被呼叫為 Vue 的參數。
當 install 方法被同一個插件多次調用,插件將只會被安裝一次。
Vue.js 的外掛程式應有一個公開方法 install 。這個方法的第一個參數是Vue 建構器,第二個參數是一個可選的選項物件:
MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或属性 Vue.myGlobalMethod = function () { // 逻辑... } // 2. 添加全局资源 Vue.directive('my-directive', { bind (el, binding, vnode, oldVnode) { // 逻辑... } ... }) // 3. 注入组件 Vue.mixin({ created: function () { // 逻辑... } ... }) // 4. 添加实例方法 Vue.prototype.$myMethod = function (methodOptions) { // 逻辑... } }
透過全域方法Vue.use() 使用外掛程式:
// 调用 `MyPlugin.install(Vue)` Vue.use(MyPlugin)
也可以傳入一個選項物件:
Vue.use(MyPlugin, { someOption: true })
Vue.use 會自動阻止多次註冊相同插件,屆時只會註冊一次該插件。
Vue.js 官方提供的一些外掛程式 (例如 vue-router) 在偵測到 Vue 是可存取的全域變數時會自動呼叫 Vue.use()。然而在例如CommonJS 的模組環境中,你應該始終明確地呼叫Vue.use():
// 用 Browserify 或 webpack 提供的 CommonJS 模块环境时 var Vue = require('vue') var VueRouter = require('vue-router') // 不要忘了调用此方法 Vue.use(VueRouter)
實例:實作一個children元件
##在main. js中使用該元件的方法:import childModule from './components/children' Vue.use(childModule)
|-components |-children |-index.js 导出组件,并且install |-children.vue (定义自己的组件模板)
import childrencomponent from './children.vue' const childrenMo = { install:function(Vue){ Vue.component('childModule',childrencomponent) } } export default childrenMo
以上是如何透過全域方法使用Vue.use()元件的詳細內容。更多資訊請關注PHP中文網其他相關文章!