你好吗?
所以,我一直在为我工作的公司从事一个新项目。
我们将开发一个SDK,以提供给第三方开发人员类,以便他们可以构建在我们的应用程序中运行的组件。
我想写一个抽象类,所以我可以强迫开发人员实现一些方法。
我该怎么做?
我当时正在考虑创建一个纯类型脚本类以构建抽象类,然后在我的 COMPONENT CLASS 中继承它... < / p>
类似的东西:
abstract class AbstractClass {
public abstract abstractMethod(): void
}
但是我该如何使用vue组件类来完成这项工作?
答案 0 :(得分:1)
Authentication Backend可用于将Vue组件定义为TypeScript类,但它具有vue-class-component
有关抽象类的信息。
取决于应该使用抽象方法的方式,可以添加其他检查以在子组件中强制实施抽象方法,例如:
interface IFooComponent {
bar(): void;
}
@Component({})
class BaseFooComponent extends Vue {
['bar' as string]() {
throw new Error('not implemented');
}
}
// `implements` causes compilation error
class FooComponent extends BaseFooComponent implements IFooComponent {
// bar() {}
mounted() {
this.bar(); // causes both compilation and runtime error
}
}