关于vue的mixin
关于vue的mixin
vue的mixin
当有多个组件写了多个同样的语句时,可以使用vue的mixin机制 创建一个utils/mixin.js文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
import {
mapGetters,
mapActions
} from 'vuex'
export const bookMixin = {
computed: {
...mapGetters(['bookName', 'bookCover']),
},
methods: {
...mapActions(['setBookName', 'setBookCover'])
}
}
接下来就可以在组件内这样写:
1
2
3
import { bookMixin } from 'utils/mixin'
mixins:[bookMixin]
methods: {}
这样可以将vuex的内容在一处增加,多处复用。
mapActions是写到methods里的,这样就可以替换这种写法
1
2
3
4
// 原来写法
this.$store.dispatch('setBookName',this.bookName)
// 优雅写法
this.setBookName(this.bookName)
本文由作者按照 CC BY 4.0 进行授权