You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
740 B

import Vue from "../index";
declare module "../vue" {
// add instance property and method
interface Vue {
$instanceProperty: string;
$instanceMethod(): void;
}
// add static property and method
interface VueConstructor {
staticProperty: string;
staticMethod(): void;
}
}
// augment ComponentOptions
declare module "../options" {
interface ComponentOptions<V extends Vue> {
foo?: string;
}
}
const vm = new Vue({
props: ["bar"],
data: {
a: true
},
foo: "foo",
methods: {
foo() {
this.a = false;
}
},
computed: {
BAR(): string {
return this.bar.toUpperCase();
}
}
});
vm.$instanceProperty;
vm.$instanceMethod();
Vue.staticProperty;
Vue.staticMethod();