最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中mixins混入的介紹與使用詳解

 更新時(shí)間:2022年12月23日 16:36:13   作者:嬌花*  
如果我們?cè)诿總€(gè)組件中去重復(fù)定義這些屬性和方法會(huì)使得項(xiàng)目出現(xiàn)代碼冗余并提高了維護(hù)難度,針對(duì)這種情況官方提供了Mixins特性,這時(shí)使用Vue mixins混入有很大好處,下面就介紹下Vue mixins混入使用方法,需要的朋友參考下吧

一、來自官網(wǎng)的描述

混入 (mixins): 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式?;烊雽?duì)象可以包含任意組件選項(xiàng)。當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。

二、如何創(chuàng)建Mixins

在src目錄下創(chuàng)建一個(gè)mixins文件夾,文件夾下新建一個(gè)myMixins.js文件。前面我們說了mixins是一個(gè)js對(duì)象,所以應(yīng)該以對(duì)象的形式來定義myMixins,在對(duì)象中我們可以和vue組件一樣來定義我們的data、components、methods 、created、computed等屬性,并通過export導(dǎo)出該對(duì)象

export const myMixins = {
components:{},
data(){
return {}
},
created(){},
mounted(){},
computed(){},
methods: {}
}

三、項(xiàng)目中如何使用混入

在vue組件內(nèi),如果想將一些公共功能,如組件、方法、鉤子函數(shù)等復(fù)用,混入是一個(gè)很好的選擇。下面簡單介紹一下混入的方式及特點(diǎn)。

你可以將一個(gè)對(duì)象作為混入的選項(xiàng),在組件中復(fù)用。因?yàn)関ue實(shí)例也是對(duì)象,所以你可以將vue實(shí)例作為混入選項(xiàng)傳遞進(jìn)去。

我們可以創(chuàng)建一個(gè)目錄mixins,在創(chuàng)建一個(gè)comment.js文件如圖:

1.定義混入對(duì)象

common.js 就是我們要混入其它組件的內(nèi)容:

export default {
	data(){
	return {
      msg: 'erwerwe',
      form:{
        a:'aaa'
      }
    }
	},
	filters: { //過濾器
		numToString(value) {
			return value.toString();
		}
	},
	created(){ //鉤子函數(shù)
		    console.log('這是混入的組件')
	},
	computed: {   //計(jì)算屬性
		ids() {
				return  !this.loading
			 }
	},
	methods:{
     exm(){
      console.log('這是混入的exm方法')
      },
     clickFn(){
      console.log(this.msg)
    },
	// 其它屬性方法......
		}
}

2.定義使用混入的組件

test.vue組件用mixins把common.js內(nèi)容混入當(dāng)前組件

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h1>{{ form.a }}</h1>
    <button @click="buttonClick">current</button>
  </div>
</template>
<script>
//導(dǎo)入js文件
import fun from './mixins/common.js'
export default {
  name: "HelloWorld",
  mixins:[fun],  //混入 fnu對(duì)象
  created(){
    console.log('這是當(dāng)前組件')
  },
  data() {
    return {
      msg: "組件的msg"
    }
  },
  methods:{
    buttonClick(){
      console.log(this.form.a)
      console.log(this.msg)
      this.clickFn();
      this.exm();
    },
    exm(){
      console.log('這是組件的exm方法')
    }
  }
}
</script>

3.存在的問題:

混入的對(duì)象中的msg屬性,和組件的msg屬性沖突,以組件的值優(yōu)先。組件中沒有的屬性,混入對(duì)象中的生效。

同名鉤子函數(shù)將會(huì)合并成一個(gè)數(shù)組,都會(huì)調(diào)用,混入函數(shù)先調(diào)用

值為對(duì)象的選項(xiàng),如methods,components,directives等,將會(huì)合并為一個(gè)新對(duì)象,如果鍵名沖突,組件的值優(yōu)先

四、與vuex的區(qū)別

vuex:用來做狀態(tài)管理的,里面定義的變量在每個(gè)組件中均可以使用和修改,在任一組件中修改此變量的值之后,其他組件中此變量的值也會(huì)隨之修改。

Mixins:可以定義共用的變量,在每個(gè)組件中使用,引入組件中之后,各個(gè)變量是相互獨(dú)立的,值的修改在組件中不會(huì)相互影響。

五、與公共組件的區(qū)別

組件:在父組件中引入組件,相當(dāng)于在父組件中給出一片獨(dú)立的空間供子組件使用,然后根據(jù)props來傳值,但本質(zhì)上兩者是相對(duì)獨(dú)立的。

Mixins:則是在引入組件之后與組件中的對(duì)象和方法進(jìn)行合并,相當(dāng)于擴(kuò)展了父組件的對(duì)象與方法,可以理解為形成了一個(gè)新的組件。

到此這篇關(guān)于Vue中mixins混入的介紹與使用詳解的文章就介紹到這了,更多相關(guān)Vue mixins混入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用 Vue 綁定單個(gè)或多個(gè) Class 名的實(shí)例代碼

    使用 Vue 綁定單個(gè)或多個(gè) Class 名的實(shí)例代碼

    這篇文章主要介紹了使用 Vue 綁定單個(gè)或多個(gè) Class 名的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-01-01
  • Vue+ElementUI?封裝簡易PaginationSelect組件的詳細(xì)步驟

    Vue+ElementUI?封裝簡易PaginationSelect組件的詳細(xì)步驟

    這篇文章主要介紹了Vue+ElementUI?封裝簡易PaginationSelect組件,這里簡單介紹封裝的一個(gè)Pagination-Select組件幾個(gè)步驟,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • vue中v-model和響應(yīng)式的實(shí)現(xiàn)原理解析

    vue中v-model和響應(yīng)式的實(shí)現(xiàn)原理解析

    這篇文章主要介紹了vue中v-model和響應(yīng)式的實(shí)現(xiàn)原理,通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Vue集成TinyMCE富文本編輯器的流程步驟

    Vue集成TinyMCE富文本編輯器的流程步驟

    TinyMCE 是一款功能強(qiáng)大的富文本編輯器,廣泛應(yīng)用于各種 Web 應(yīng)用中,本文將詳細(xì)介紹如何在 Vue 項(xiàng)目中集成 TinyMCE,通過詳盡的步驟說明、示例代碼展示以及豐富的配置選項(xiàng),助力開發(fā)者輕松實(shí)現(xiàn)內(nèi)容編輯的增強(qiáng)與美化,需要的朋友可以參考下
    2024-11-11
  • Vue實(shí)現(xiàn)簡易記事本功能

    Vue實(shí)現(xiàn)簡易記事本功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡易記事本功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • vue實(shí)現(xiàn)百度搜索功能

    vue實(shí)現(xiàn)百度搜索功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)百度搜索功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • vue3.0響應(yīng)式函數(shù)原理詳細(xì)

    vue3.0響應(yīng)式函數(shù)原理詳細(xì)

    這篇文章主要介紹了vue3.0響應(yīng)式函數(shù)原理,Vue3的響應(yīng)式系統(tǒng)可以監(jiān)聽動(dòng)態(tài)添加的屬性還可以監(jiān)聽屬性的刪除操作,以及數(shù)組的索引以及l(fā)ength屬性的修改操作。另外Vue3的響應(yīng)式系統(tǒng)還可以作為模塊單獨(dú)使用。下面更多介紹,需要的小伙伴可以才可以參考一下
    2022-02-02
  • Vue根據(jù)條件添加click事件的方式

    Vue根據(jù)條件添加click事件的方式

    今天小編就為大家分享一篇Vue根據(jù)條件添加click事件的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue中使用md5進(jìn)行數(shù)據(jù)加密的實(shí)現(xiàn)方法

    Vue中使用md5進(jìn)行數(shù)據(jù)加密的實(shí)現(xiàn)方法

    在現(xiàn)代Web開發(fā)中,數(shù)據(jù)安全是一個(gè)不可忽視的重要環(huán)節(jié),Vue.js作為一個(gè)流行的前端框架,不僅提供了強(qiáng)大的數(shù)據(jù)綁定和組件化功能,還支持與各種后端服務(wù)的集成,本文將探討如何在Vue應(yīng)用中使用MD5算法來加密數(shù)據(jù),從而提升應(yīng)用的安全性,需要的朋友可以參考下
    2024-10-10
  • 解決el-tree節(jié)點(diǎn)過濾不顯示下級(jí)的問題

    解決el-tree節(jié)點(diǎn)過濾不顯示下級(jí)的問題

    這篇文章主要介紹了解決el-tree節(jié)點(diǎn)過濾不顯示下級(jí)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評(píng)論

云和县| 正蓝旗| 威远县| 尖扎县| 泸水县| 南乐县| 阿拉善左旗| 东乌珠穆沁旗| 曲水县| 莱芜市| 博乐市| 崇阳县| 阳曲县| 南陵县| 神农架林区| 乌鲁木齐市| 潜江市| 溆浦县| 韩城市| 游戏| 松原市| 贵州省| 临西县| 榕江县| 商南县| 河北区| 青河县| 泉州市| 绥芬河市| 乌海市| 房产| 昭通市| 乌鲁木齐县| 武清区| 海南省| 沿河| 湟中县| 治县。| 台南县| 兴化市| 金堂县|