摘要:當組件和混合對象含有同名選項時,這些選項將以恰當的方式混合自定義指令除了默認設置的核心指令和也允許注冊自定義指令。
vue的復用性與組合 混合
混合 (mixins) 是一種分發 Vue 組件中可復用功能的非常靈活的方式?;旌蠈ο罂梢园我饨M件選項。以組件使用混合對象時,所有混合對象的選項將被混入該組件本身的選項。
當組件和混合對象含有同名選項時,這些選項將以恰當的方式混合
var base={ data:function(){ return{ visible:flase, }; }, methods:{ toggle:function(){ this.visible=!this.visible }, show:function(){ this.visible=true; }, hide:function(){ this.visible=flase; }, } }; var Popup={ template:"#popup-tpl", mixins:[base] }; var Menu={ template:"#menu-tpl", mixins:[base] } ;自定義指令
除了默認設置的核心指令( v-model 和 v-show ),Vue 也允許注冊自定義指令。注意,在 Vue2.0 里面,代碼復用的主要形式和抽象是組件——然而,有的情況下,你仍然需要對純 DOM 元素進行底層操作,這時候就會用到自定義指令。
開發插件組件可以擴展 HTML 元素,封裝可重用的代碼自定義指令 自定義指令 自定義指令 自定義指令 自定義指令 自定義指令 自定義指令 自定義指令
插件通常會為Vue添加全局功能。插件的范圍沒有限制——一般有下面幾種:
添加全局方法或者屬性,如: vue-custom-element
添加全局資源:指令/過濾器/過渡等,如 vue-touch
通過全局 mixin 方法添加一些組件選項,如: vue-router
添加 Vue 實例方法,通過把它們添加到 Vue.prototype 上實現。
一個庫,提供自己的 API,同時提供上面提到的一個或多個功能,如 vue-router
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)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88362.html
摘要:可復用性和組合混合混合是一種分發組件中可復用功能的非常靈活的方式。官方例子定義一個混合對象定義一個使用混合對象的組件自定義指令允許自定義指令。 可復用性和組合 混合 混合 (mixins) 是一種分發 Vue 組件中可復用功能的非常靈活的方式。混合對象可以包含任意組件選項。以組件使用混合對象時,所有混合對象的選項將被混入該組件本身的選項。 showImg(https://segment...
摘要:效率不高,很多多余,稱之為臟檢查。通過索引設置數組元素并觸發視圖更新。解決閃爍問題自定義指令自定義指令提供一種機制將數據的變化映射為行為。 Vue特性 Vue只是聚焦視圖層,是一個構建數據驅動的Web界面的庫。 Vue通過簡單 API提供高效的數據綁定和靈活的組件系統 輕量 數據綁定 指令 插件化 架構從傳統后臺MVC 向REST API + 前端MV*遷移DOM是數據的一種自然映...
摘要:注意,在里面,代碼復用的主要形式和抽象是組件然而,有的情況下你仍然需要對純元素進行底層操作這時候就會用到自定義指令。注冊一個全局自定義指令當綁定元素插入到中。 混合是什么 混合 (mixins) 是一種分發 Vue 組件中可復用功能的非常靈活的方式?;旌蠈ο罂梢园我饨M件選項。以組件使用混合對象時,所有混合對象的選項將被混入該組件本身的選項。例如: var tpl1={ te...
摘要:定義全局插件的步驟定義全局插件的插件應當有一個公開方法。這個方法的第一個參數是構造器,第二個參數是一個可選的選項對象具體種方式,寫在此處里引入并使用組件內調用全局插件的種方式請謹慎使用全局混入,因為它會影響每個單獨創建的實例包括第三方組件。 定義全局插件的步驟 1.定義全局插件 pluginsUtil.jsVue.js 的插件應當有一個公開方法 install 。這個方法的第一個參數是...
閱讀 3236·2021-11-24 10:43
閱讀 4197·2021-11-24 10:33
閱讀 3771·2021-11-22 09:34
閱讀 2125·2021-10-11 10:58
閱讀 3732·2021-10-11 10:58
閱讀 859·2021-09-27 13:36
閱讀 3579·2019-08-30 15:54
閱讀 2965·2019-08-29 18:41