Vue組件公用方法提取mixin實(shí)現(xiàn)
一.應(yīng)用場(chǎng)景
多個(gè)組件共用一個(gè)方法時(shí)可以用 mixin
抽取到一個(gè)js文件中,作為共用方法
二.實(shí)現(xiàn)方法
1.提取js共用方法文件
export const common = { ?? ? ?? ?// 組件共用屬性 ---------------------------------- ?? ?data() { ?? ??? ?return { ?? ??? ??? ?age: 18?? ??? ??? ? ? ? ? ?// 設(shè)置一個(gè)共用屬性 ?? ??? ?} ?? ?}, ?? ?// --------------------------------------------- ?? ? ?? ?// 組件共用方法 --------------------------------------------- ?? ?methods: { ?? ??? ?showName() { ?? ??? ??? ?alert(this.name) ??? ??? ?// 彈出組件中name屬性的共用方法 ?? ??? ?} ?? ?}, ?? ?// -------------------------------------------------------- ?? ? ?? ?// 組件掛載時(shí)的共用方法 ---------------------- ?? ?mounted() { ?? ??? ?console.log('初始化方法') ? ?// 掛載時(shí)調(diào)用 ?? ?}, ?? ?// ---------------------------------------- ?? ? }
2.引入
<template> ?? ?<div> ?? ??? ?<div>組件</div> ?? ??? ?<button @click="showName">彈出姓名</button> ?? ?</div> </template> <script> ?? ?// 引入js文件中的方法對(duì)象 -------------------- ?? ?import {common, } from '../pub_js/common.js' ?? ?// ---------------------------------------- ?? ? ?? ?export default { ?? ??? ?name: 'Student', ?? ??? ?data() { ?? ??? ??? ?return { ?? ??? ??? ??? ?name: '張三' ?? ??? ??? ?} ?? ??? ?}, ?? ??? ? ?? ??? ?// 調(diào)用 mixin 將組件js與共用js合并 --- ?? ??? ?mixins: [common, ], ?? ??? ?// -------------------------------- ?? ??? ? ?? ?} </script>
三.注意事項(xiàng)
- 1.
data
中的屬性合并后,如果有命名沖突的情況,以組件中的屬性為主,【組件屬性覆蓋共用js中的屬性】 - 2.
methods
中的方法合并后,如果有命名沖突的情況,以組件中的方法為主,【組件方法覆蓋共用js中的方法】 - 3.
mounted等
生命周期方法合并后,會(huì)先調(diào)用共用js中的的生命周期函數(shù),再調(diào)用組件中的生命周期函數(shù),【不會(huì)進(jìn)行覆蓋】 - 4.如果是全局共用的方法,可以直掛載到main.js中↓
import Vue from 'vue' import App from './App.vue' Vue.config.productionTip = false // 掛載全局共用方法 ----------------------- import {common, } from 'pub_js/common.js' Vue.mixin(common) // -------------------------------------- new Vue({ ? render: h => h(App), }).$mount('#app')
到此這篇關(guān)于Vue組件公用方法提取mixin實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue組件提取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3?中的toRef函數(shù)和toRefs函數(shù)的基本使用
這篇文章主要介紹了vue3?toRef函數(shù)和toRefs函數(shù),文中介紹了ref和toRef的區(qū)別,ref本質(zhì)是拷貝,修改響應(yīng)式數(shù)據(jù)不會(huì)影響原始數(shù)據(jù),toRef的本質(zhì)是引用關(guān)系,修改響應(yīng)式數(shù)據(jù)會(huì)影響原始數(shù)據(jù),需要的朋友可以參考下2022-11-11vue Element-ui input 遠(yuǎn)程搜索與修改建議顯示模版的示例代碼
本文分為html,js和css代碼給大家詳細(xì)介紹了vue Element-ui input 遠(yuǎn)程搜索與修改建議顯示模版功能,感興趣的朋友一起看看吧2017-10-10使用vue實(shí)現(xiàn)滑動(dòng)滾動(dòng)條來(lái)加載數(shù)據(jù)
在vuejs中,我們經(jīng)常使用axios來(lái)請(qǐng)求數(shù)據(jù),但是有時(shí)候,我們請(qǐng)求的數(shù)據(jù)量很大,那么我們?nèi)绾螌?shí)現(xiàn)滑動(dòng)滾動(dòng)條來(lái)加載數(shù)據(jù)呢,接下來(lái)小編就給大家介紹一下在vuejs中如何實(shí)現(xiàn)滑動(dòng)滾動(dòng)條來(lái)動(dòng)態(tài)加載數(shù)據(jù),需要的朋友可以參考下2023-10-10一文了解vue-router之hash模式和history模式
這篇文章主要介紹了一文了解vue-router之hash模式和history模式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05