前端屆特別喜歡把簡單的事情搞複雜。
原本原生代碼就已經能夠實現的事情。非要爲了當前端網紅,造一些複雜的,大而無當的東西。前端
如今讓咱們拋棄複雜,心智負擔極重的Vuex, Flux, Redux等等等等之類的東西吧。
單純的面向對象,已經足以管理狀態了,並且更好。
更少的心智負擔,更簡單的公共接口。一眼就能看明白。vue
下面是一個小Demo
建立一個Class,這個Class須要繼承Vanx類
擁有兩個方法plus和minus,和一個狀態:result
調用plus或者minus就會對result加1或者減1git
import Vanx from 'vanx'; class Calcutor extends Vanx { protected result = 0; public plus() { this.result++; } public minus() { this.result--; } } // 實例化並導出狀態管理類 export const calcutor = new Calcutor();
而後在Vue文件裏github
import { Component, Prop, Vue } from 'vue-property-decorator'; import { calcutor } from './store'; @Component export default class HelloWorld extends Vue { // 使用剛剛處處的累的一個方法叫decorator,參數是你想注入到Vue裏的狀態的變量名 @calcutor.decorator('result') private calcutorResule!: number; private plus() { // 而後調用狀態管理類的方法, // vanx會通知vue去更新Dom calcutor.plus(); } private minus() { calcutor.minus(); } }
想用着試試看的能夠直接typescript
npm install vanx