1.新建文件mixin.ts

import { Component, Vue } from "vue-property-decorator";

@Component({
  filters: {
    Test(arg: string) {
      return arg + "  我来刷点存在感";
    }
  }
})
export class MyMixin extends Vue {
  beforeCreate() {
    console.log("mixins,beforeCreate 调用"); // 前期混合注入 比如你想要的方法调用, vue-router也是在此注册
  }
  mounted() {
    console.log("mixins,mounted 调用"); // 前期混合注入 比如你想要的方法调用, vue-router也是在此注册
  }
  mixinTitle: string = "我是一个测试的mixin 标题";

  loding(m: any): void {
    alert(m);
  }
}

混入:写入混入文件,引入后即可使用混入文件中的生命周期,变量,方法(类似公共方法,公共变量)
2.引入mixin,使用

//引入Mixins 
import { Component, Vue, Mixins } from "vue-property-decorator";
//引入ts文件
import { MyMixin } from "./mixin";
//继承,可以继承多个Mixins括号里
export default class index extends Mixins(MyMixin) {
	mounted(){
		//可以使用mixin.ts中的方法,变量
		this.loding(this.mixinTitle)
	}
}

3.mixin.ts中的生命周期照样会执行,执行顺序是

//只展示个别生命周期
Mixins.beforeCreate->当前.beforeCreate->Mixins.mounted->当前.mounted
Logo

前往低代码交流专区

更多推荐