国产探花免费观看_亚洲丰满少妇自慰呻吟_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() 方法。

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 虎林市| 郯城县| 宝山区| 蒙自县| 崇州市| 九江县| 盐津县| 左云县| 军事| 沂水县| 娄烦县| 彝良县| 金门县| 庆城县| 绥滨县| 邢台市| 德兴市| 根河市| 西林县| 罗江县| 英山县| 绿春县| 沅陵县| 石狮市| 大连市| 沙雅县| 云和县| 福贡县| 大洼县| 广汉市| 德保县| 沽源县| 永济市| 南充市| 元谋县| 隆昌县| 商都县| 兖州市| 苍山县| 德庆县| 都匀市|