国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談vue自定義全局組件并通過全局方法 Vue.use() 使用該組件

2019-11-19 14:46:23
字體:
來源:轉載
供稿:網友

簡介

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 (定義自己的組件模板)

children.vue代碼如下:

import childrencomponent from './children.vue'const childrenMo = {  install:function(Vue){    Vue.component('childModule',childrencomponent)  }}export default childrenMo

這樣就實現了一個通過vue.use調用一個全局組件。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精河县| 泰顺县| 三亚市| 钦州市| 江都市| 桂东县| 若尔盖县| 磐石市| 定远县| 田阳县| 融水| 拉孜县| 宜州市| 克东县| 桦甸市| 饶平县| 诸暨市| 胶南市| 宁强县| 平定县| 云梦县| 岑巩县| 乌鲁木齐市| 临城县| 福安市| 那坡县| 广昌县| 辉县市| 武义县| 彭阳县| 水富县| 龙南县| 稷山县| 澄江县| 阿拉善右旗| 荥经县| 山丹县| 定结县| 周口市| 临泉县| 当雄县|