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

Vue中使用mixins混入方式

 更新時(shí)間:2024年08月28日 10:28:23   作者:前端大斗師  
這篇文章主要介紹了Vue中使用mixins混入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mixins在Vue中的用法

一、mixins混入

混入(mixins)提供了一種非常靈活的方式,來(lái)分發(fā)vue組件中的可服用功能。一個(gè)混入對(duì)象可以包含任意的組件選項(xiàng)(vue在script的部分)。當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)都將被“混合”進(jìn)入改組件本身的選項(xiàng)。

vue提供的一種混合機(jī)制,能夠更好的實(shí)現(xiàn)組件功能復(fù)用,混合對(duì)象(mixins)可以包含任意組件選項(xiàng)(data、created、mounted、methods、filters等),組件引入后相關(guān)選項(xiàng)會(huì)進(jìn)行合并,相當(dāng)于引入后,父組件各屬性進(jìn)行擴(kuò)充;

二、組件和mixins的區(qū)別

組件在引用之后相當(dāng)于在父組件內(nèi)開(kāi)辟了一塊單獨(dú)的空間,來(lái)根據(jù)父組件props過(guò)來(lái)的值進(jìn)行相應(yīng)的操作,本質(zhì)上兩者還是涇渭分明,相對(duì)獨(dú)立。

mixins則是在引入組件之后,是將組件內(nèi)部的內(nèi)容如data等方法、method等屬性與父組件相應(yīng)內(nèi)容進(jìn)行合并。相當(dāng)于在引入后,父組件的各種屬性方法都被擴(kuò)充。

簡(jiǎn)單理解:減少代碼冗余,提高開(kāi)發(fā)效率,復(fù)用組件數(shù)據(jù),方法等,以提高開(kāi)發(fā)速度

三、為什么使用mixins

  • mixins分為全局混入和局部混入,下面我們著重講局部混入
  • 注意不同組件混入之后,會(huì)生成不同的實(shí)例,數(shù)據(jù)會(huì)相互隔離,互不影響
  • 注意在引入mixins的同時(shí),組件中重復(fù)定義,minxins中的屬性方法會(huì)被覆蓋
  • 使用 mixins 之后,該組件包含 mixins 中的所有數(shù)據(jù),并且可以使用 this 進(jìn)行訪問(wèn)。 您也可以使用變量而不是單獨(dú)的文件來(lái)定義 mixins

四、Vue項(xiàng)目實(shí)際使用

  • 新建src/minxins/index.js
// 引入下載文件接口
import { downTemplateFile } from '@/api/home'
// 導(dǎo)出 myMixins 函數(shù)
export const myMixins = {
  data() {
    return {

    }
  },
  methods: {
    // 下載方法,參數(shù)傳文件ID
    toLogin(id) {
      downTemplateFile({ id1: id }).then(res => {
        if (res.size != 97) {
          let blob = new Blob([res])
          let objectUrl = window.URL.createObjectURL(blob)
          if (navigator.msSaveBlob) {
            return navigator.msSaveBlo(blob, '下載文件.doc')
          } else {
            let a = document.createElement('a')
            document.body.appendChild(a);
            a.style.display = 'none'
            a.setAttribute('href', objectUrl)
            a.setAttribute('download', '下載文件.doc')
            a.click();
            URL.revokeObjectURL(objectUrl);
          }
        } else {
          this.$message.error('系統(tǒng)錯(cuò)誤,請(qǐng)稍后重試!')
        }
      })
    }
  }
}
  • index.vue引入注冊(cè)并使用mixins
<template>
  <div class="index">
    <button @click="downLoadTempFile(1)">觸發(fā)mixins下載方法</button>
  </div>
</template>
<script>
// 引入 myMixins 函數(shù),導(dǎo)出什么就引入什么
import { myMixins } from '@/mixins';
export default {
  data(){
    return {
    }
  },
  // 注冊(cè)
  mixins: [myMixins],
  methods:{
    async downLoadTempFile(id){
      // 直接使用this.方法名就可以調(diào)用到myMixins里的方法
      this.toLogin(id)
    },
  }
}
</script>

五、全局混入(不推薦)

  • main.js
import Vue from 'vue'
import App from './App.vue'

import { myMixins } from "@/mixins"

Vue.mixin(myMixins);

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue3中Vuex的詳細(xì)使用方法

    Vue3中Vuex的詳細(xì)使用方法

    在vue3.x中vuex調(diào)取值在html代碼里可以直接使用vue2.x的方法,但是在js里與vue2.x就有了那么一丟丟的不同,下面這篇文章主要給大家介紹了關(guān)于Vue3中Vuex詳細(xì)使用的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Vue前端整合Element?Ui的教程詳解

    Vue前端整合Element?Ui的教程詳解

    這篇文章主要介紹了Vue前端整合Element?Ui,本節(jié)內(nèi)容服務(wù)于SpringBoot?+?Vue?搭建?JavaWeb?增刪改查項(xiàng)目,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Vue+ElementUI踩坑之動(dòng)態(tài)顯示/隱藏表格的列el-table-column問(wèn)題

    Vue+ElementUI踩坑之動(dòng)態(tài)顯示/隱藏表格的列el-table-column問(wèn)題

    這篇文章主要介紹了Vue+ElementUI踩坑之動(dòng)態(tài)顯示/隱藏表格的列el-table-column問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue elementUI table 自定義表頭和行合并的實(shí)例代碼

    vue elementUI table 自定義表頭和行合并的實(shí)例代碼

    這篇文章主要介紹了vue elementUI table 自定義表頭和行合并的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • vue使用ECharts實(shí)現(xiàn)折線圖和餅圖

    vue使用ECharts實(shí)現(xiàn)折線圖和餅圖

    這篇文章主要為大家詳細(xì)介紹了vue使用ECharts實(shí)現(xiàn)折線圖和餅圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue實(shí)現(xiàn)步驟條效果

    Vue實(shí)現(xiàn)步驟條效果

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)步驟條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue數(shù)組響應(yīng)式操作及高階函數(shù)使用代碼詳解

    Vue數(shù)組響應(yīng)式操作及高階函數(shù)使用代碼詳解

    這篇文章主要介紹了Vue數(shù)組響應(yīng)式操作及高階函數(shù)使用代碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • $router.push()中通過(guò)path跳轉(zhuǎn)和通過(guò)name跳轉(zhuǎn)區(qū)別解析

    $router.push()中通過(guò)path跳轉(zhuǎn)和通過(guò)name跳轉(zhuǎn)區(qū)別解析

    今天在路由跳轉(zhuǎn)傳參時(shí)發(fā)現(xiàn)params傳參接收到的總是為空,才發(fā)現(xiàn)通過(guò)path和name傳參是有區(qū)別的,這篇文章主要介紹了$router.push()中通過(guò)path跳轉(zhuǎn)和通過(guò)name跳轉(zhuǎn)有什么區(qū)別,需要的朋友可以參考下
    2023-11-11
  • Vue利用相反數(shù)實(shí)現(xiàn)飄窗動(dòng)畫(huà)效果

    Vue利用相反數(shù)實(shí)現(xiàn)飄窗動(dòng)畫(huà)效果

    飄窗,即一個(gè)類(lèi)似小窗子的在網(wǎng)頁(yè)上移動(dòng)的矩形元素,通常被用于一些通知類(lèi)的應(yīng)用場(chǎng)景。本文將利用相反數(shù)實(shí)現(xiàn)這一動(dòng)畫(huà)效果,需要的可以參考一下
    2022-05-05
  • Vue中

    Vue中"This dependency was not found"問(wèn)題的解決方法

    這篇文章主要介紹了Vue中"This dependency was not found"的問(wèn)題的解決方法,需要的朋友可以參考下
    2018-06-06

最新評(píng)論

惠州市| 中西区| 清苑县| 镇平县| 平罗县| 昆山市| 博湖县| 新邵县| 刚察县| 田东县| 革吉县| 普陀区| 山东省| 连平县| 马龙县| 金阳县| 芦山县| 孟州市| 连州市| 甘肃省| 谷城县| 翁牛特旗| 牟定县| 崇仁县| 沈阳市| 大理市| 遵义市| 阿勒泰市| 崇明县| 江都市| 大安市| 石台县| 宁安市| 台东市| 六盘水市| 金阳县| 德保县| 乌拉特中旗| 开封市| 兰西县| 安图县|