摘要:可復(fù)用性和組合混合混合是一種分發(fā)組件中可復(fù)用功能的非常靈活的方式。官方例子定義一個(gè)混合對象定義一個(gè)使用混合對象的組件自定義指令允許自定義指令。
可復(fù)用性和組合 混合
混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混合對象可以包含任意組件選項(xiàng)。以組件使用混合對象時(shí),所有混合對象的選項(xiàng)將被混入該組件本身的選項(xiàng)。
在上面的例子中,我們創(chuàng)建了一個(gè)點(diǎn)擊彈出框和一個(gè)滑過彈出框,因?yàn)槠湔{(diào)用的數(shù)據(jù)和方法都是重復(fù)的,因此就定義一個(gè)混合對象,讓兩個(gè)不同的彈出框分別調(diào)用。
官方例子:
// 定義一個(gè)混合對象 var myMixin = { created: function () { this.hello() }, methods: { hello: function () { console.log("hello from mixin!") } } } // 定義一個(gè)使用混合對象的組件 var Component = Vue.extend({ mixins: [myMixin] }) var component = new Component() // => "hello from mixin!"自定義指令
Vue允許自定義指令。
舉個(gè)例子,現(xiàn)在這里有個(gè)input輸入框,當(dāng)頁面加載時(shí),輸入框就已經(jīng)獲取焦點(diǎn),并將輸入框固定在視口的某一位置上:
Vue.directive("focus",{ inserted:function(el){ el.style.position="fixed"; el.style.left="10px"; el.style.top="10px"; el.focus() } })
這樣在模板中就可以使用了
插件 插件的開發(fā)Vue.js 的插件應(yīng)當(dāng)有一個(gè)公開方法 install 。這個(gè)方法的第一個(gè)參數(shù)是 Vue 構(gòu)造器 , 第二個(gè)參數(shù)是一個(gè)可選的選項(xiàng)對象:
var Myplugin={}; MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或?qū)傩? Vue.myGlobalMethod = function () { // 邏輯... } // 2. 添加全局資源 Vue.directive("my-directive", { bind (el, binding, vnode, oldVnode) { // 邏輯... } ... }) // 3. 注入組件 Vue.mixin({ created: function () { // 邏輯... } ... }) // 4. 添加實(shí)例方法 Vue.prototype.$myMethod = function (methodOptions) { // 邏輯... } }使用插件
Vue.use(MyPlugin)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88366.html
摘要:當(dāng)組件和混合對象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞交旌献远x指令除了默認(rèn)設(shè)置的核心指令和也允許注冊自定義指令。 vue的復(fù)用性與組合 混合 混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混合對象可以包含任意組件選項(xiàng)。以組件使用混合對象時(shí),所有混合對象的選項(xiàng)將被混入該組件本身的選項(xiàng)。 當(dāng)組件和混合對象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞交旌? ...
摘要:效率不高,很多多余,稱之為臟檢查。通過索引設(shè)置數(shù)組元素并觸發(fā)視圖更新。解決閃爍問題自定義指令自定義指令提供一種機(jī)制將數(shù)據(jù)的變化映射為行為。 Vue特性 Vue只是聚焦視圖層,是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的Web界面的庫。 Vue通過簡單 API提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng) 輕量 數(shù)據(jù)綁定 指令 插件化 架構(gòu)從傳統(tǒng)后臺(tái)MVC 向REST API + 前端MV*遷移DOM是數(shù)據(jù)的一種自然映...
摘要:依的值,來決定哪個(gè)組件被渲染。不具名的內(nèi)容會(huì)替換子組件中我是默認(rèn)內(nèi)容的默認(rèn)內(nèi)容另一個(gè)主要段落。這里是一些聯(lián)系信息渲染結(jié)果為這里可能是一個(gè)頁面標(biāo)題主要內(nèi)容的一個(gè)段落。 vue腳手架頁面是怎么生成的? (組件注冊,路由插件的使用); 主要涉及的文件: index.htmlindex.jsmain.jsAPP.vue 大致的過程就是: main.js 通過 import Vue from v...
摘要:注意,在里面,代碼復(fù)用的主要形式和抽象是組件然而,有的情況下你仍然需要對純元素進(jìn)行底層操作這時(shí)候就會(huì)用到自定義指令。注冊一個(gè)全局自定義指令當(dāng)綁定元素插入到中。 混合是什么 混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混合對象可以包含任意組件選項(xiàng)。以組件使用混合對象時(shí),所有混合對象的選項(xiàng)將被混入該組件本身的選項(xiàng)。例如: var tpl1={ te...
摘要:兩個(gè)對象鍵名沖突時(shí),取組件對象的鍵值對也使用同樣的策略進(jìn)行合并。代碼理解全局混合也可以全局注冊混合對象。注意使用一旦使用全局混合對象,將會(huì)影響到所有之后創(chuàng)建的實(shí)例為自定義的選項(xiàng)注入一個(gè)處理器。 20190122 Vue中mixin怎么理解? mixin是為了讓可復(fù)用的功能靈活的混入到當(dāng)前組件中,混合的對象可以包含任意組件選項(xiàng)(生命周期,指令之類等等), mixin翻譯過來叫混合,高級(jí)的...
閱讀 2324·2021-11-24 10:33
閱讀 1389·2019-08-30 15:43
閱讀 3283·2019-08-29 17:24
閱讀 3489·2019-08-29 14:21
閱讀 2230·2019-08-29 13:59
閱讀 1742·2019-08-29 11:12
閱讀 2817·2019-08-28 18:00
閱讀 1858·2019-08-26 12:17