国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue的mixins屬性詳解

2024-05-06 15:20:39
字體:
來源:轉載
供稿:網友

首先先給出官網 https://vuejs.org/v2/guide/mixins.html

今天在開發項目的時候要改變一個標簽的屬性,因為項目中有多個地方都要改(業務邏輯相同),所以就看有沒辦法只改變一個地方,把方法加進去,最后找官網就發現這個屬性。

下面是我的-mixin.js 文件

import {mapGetters, mapMutations, mapActions} from 'vuex'  export const playlistMixin = {  computed: {   ...mapGetters([    'playList'   ])  },  mounted() {   this.handlePlaylist(this.playList)  },  activated() {   this.handlePlaylist(this.playList)  },  watch: {   playList(newVal) {    this.handlePlaylist(newVal)   }  },  methods: {   handlePlaylist() {    throw new Error('component must implement handlePlaylist method')   }  }  } 

這個文件就暴露出一個對象,不過這個對象和組件很類似,也就是組件的js代碼部分類似。

這個.js文件要做的事情就是,在生命周期中和playList 變量改變的時候觸發handlePlaylist 函數,但是這個函數的邏輯是在各自要改變的組件當中去實現。下面看看怎么用Mixin。

import {playlistMixin} from 'common/js/mixin' //引入Mixin  export default {   mixins: [playlistMixin],   methods: {     handlePlaylist (playlist) {     let bottom = playlist.length > 0 ? '60px' : ''     this.$refs.recommend.style.bottom = bottom     this.$refs.scroll.refresh()    },   }  } 

在使用的組件中這樣調用。

mixins: 這個屬性是個數組,也就是說可以加載多個 minxin 文件。

handlePlaylist 方法是完成業務邏輯。所以在組件的生命周期中都會添加 this.handlePlaylist() 方法。

這樣就可以減少一部分代碼。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 浮梁县| 仪陇县| 淮安市| 永修县| 丰城市| 邢台市| 冕宁县| 安图县| 彰化市| 香格里拉县| 漯河市| 徐汇区| 平果县| 丰城市| 巴彦县| 恩平市| 明水县| 左贡县| 武清区| 涡阳县| 黔南| 客服| 葫芦岛市| 绥德县| 宣武区| 贺州市| 蓬安县| 三都| 天水市| 南涧| 大邑县| 化隆| 日照市| 陵水| 宁波市| 改则县| 同德县| 乌海市| 夏邑县| 穆棱市| 穆棱市|