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

首頁 > 編程 > JavaScript > 正文

vue的mixins屬性詳解

2019-11-19 14:10:25
字體:
來源:轉載
供稿:網友

首先先給出官網 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() 方法。

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南部县| 宁南县| 南皮县| 冷水江市| 咸丰县| 白玉县| 房产| 新野县| 新源县| 泰安市| 江孜县| 彝良县| 青川县| 罗定市| 申扎县| 常宁市| 修水县| 报价| 辰溪县| 永吉县| 平南县| 福海县| 鄱阳县| 石渠县| 綦江县| 墨江| 昭苏县| 文山县| 儋州市| 罗源县| 高淳县| 和硕县| 伊宁市| 汨罗市| 酉阳| 宣城市| 贵港市| 揭阳市| 拉萨市| 兴安盟| 晋宁县|