vue全局混入之狀態(tài)判斷是否執(zhí)行點(diǎn)擊
vue全局混入狀態(tài)判斷是否執(zhí)行點(diǎn)擊
1.項(xiàng)目下創(chuàng)建 mps-ui\src\plugins\listenerClick.js
2.文件內(nèi)寫(xiě)法
//listenerClick.js import { mapGetters } from 'vuex' export default { computed: { ...mapGetters(['leftNavStatus']) }, data() { return {} }, mounted() { if (document.getElementById('controlBtn11')) { document .getElementById('controlBtn11') .addEventListener('click', this.doSomeThings(), true) } }, methods: { doSomeThings() {} } }
3.main.js
加以下代碼
// 全局監(jiān)聽(tīng) Vue.mixin(require('./directive/listenerClick.js').default)
全局可使用這里面的變量和方法
vue根據(jù)條件決定是否執(zhí)行事件
再配合三目運(yùn)算 , 可以更完善
vue中的全局混入mixin
混入提供了一種非常靈活的方式,來(lái)分發(fā) Vue 組件中的可復(fù)用功能。
一個(gè)混入對(duì)象可以包含任意組件選項(xiàng)。
當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)將被“混合”進(jìn)入該組件本身的選項(xiàng)。
舉例
// 定義一個(gè)混入對(duì)象 var myMixin = { created() { this.hello() }, methods: { hello() { console.log('hello from mixin!') } } } // main.js全局使用 Vue.mixin(myMixin)
因?yàn)槭侨只烊?,myMixin中的數(shù)據(jù)和方法會(huì)被掛載到每個(gè)組件的實(shí)例對(duì)象上
注意:
1、當(dāng)組件和混入對(duì)象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞竭M(jìn)行“合并”。
比如,數(shù)據(jù)對(duì)象在內(nèi)部會(huì)進(jìn)行遞歸合并,并在發(fā)生沖突時(shí)以組件數(shù)據(jù)優(yōu)先。
2、同名鉤子函數(shù)將合并為一個(gè)數(shù)組,因此都將被調(diào)用。另外,混入對(duì)象的鉤子將在組件自身鉤子之前調(diào)用。
3、值為對(duì)象的選項(xiàng),例如 methods
、components
和 directives
,將被合并為同一個(gè)對(duì)象。兩個(gè)對(duì)象鍵名沖突時(shí),取組件對(duì)象的鍵值對(duì)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于vue-cli3創(chuàng)建libs庫(kù)的實(shí)現(xiàn)方法
這篇文章主要介紹了基于vue-cli3創(chuàng)建libs庫(kù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12淺談Vue.js 1.x 和 2.x 實(shí)例的生命周期
下面小編就為大家?guī)?lái)一篇淺談Vue.js 1.x 和 2.x 實(shí)例的生命周期。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07vue跳轉(zhuǎn)同一個(gè)路由參數(shù)不同的問(wèn)題
這篇文章主要介紹了vue跳轉(zhuǎn)同一個(gè)路由參數(shù)不同的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Vue Router中的冗余導(dǎo)航錯(cuò)誤及解決方案
在現(xiàn)代前端開(kāi)發(fā)中,單頁(yè)應(yīng)用(SPA)已經(jīng)成為主流,而 Vue.js 作為一款流行的前端框架,其官方路由庫(kù) Vue Router 則是構(gòu)建 SPA 的核心工具之一,在使用 Vue Router 的過(guò)程中,開(kāi)發(fā)者可能會(huì)遇到一些常見(jiàn)的錯(cuò)誤,本文將深入探討這一錯(cuò)誤的原因、影響以及解決方案2025-01-01使用kbone解決Vue項(xiàng)目同時(shí)支持小程序問(wèn)題
這篇文章主要介紹了使用kbone解決Vue項(xiàng)目同時(shí)支持小程序問(wèn)題,本文通過(guò)一個(gè)todo的例子跟大家詳細(xì)介紹,需要的朋友可以參考下2019-11-11vue使用cesium創(chuàng)建數(shù)據(jù)白模方式
這篇文章主要介紹了vue使用cesium創(chuàng)建數(shù)據(jù)白模方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10vue路由傳參-如何使用encodeURI加密參數(shù)
這篇文章主要介紹了vue路由傳參-如何使用encodeURI加密參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06