Typescript 如何使Vue实例之外的函数具有适当的“this”上下文?
我的Vue组件有很多问题Typescript 如何使Vue实例之外的函数具有适当的“this”上下文?,typescript,vue.js,Typescript,Vue.js,我的Vue组件有很多问题 <script lang="ts"> import Vue from 'vue'; import { ElForm } from 'element-ui/types/form'; type Validator = ( this: typeof PasswordReset, rule: any, value: any, callback: (error?: Error) => void ) => void; const vali
<script lang="ts">
import Vue from 'vue';
import { ElForm } from 'element-ui/types/form';
type Validator = (
this: typeof PasswordReset,
rule: any,
value: any,
callback: (error?: Error) => void
) => void;
const validatePass1: Validator = function(rule, value, callback) {
if (value && this.form.passwordConfirm) {
(this.$refs.form as ElForm).validateField('passwordConfirm', valid => {});
}
};
const PasswordReset = Vue.extend({
// ...
从“Vue”导入Vue;
从'element ui/types/form'导入{ElForm};
类型验证程序=(
此:密码重置的类型,
规则:任何,
价值:任何,
回调:(错误?:错误)=>void
)=>无效;
const validatePass1:Validator=函数(规则、值、回调){
if(value&&this.form.passwordConfirm){
(此.$refs.form为ElForm).validateField('passwordConfirm',valid=>{});
}
};
const PasswordReset=Vue.extend({
// ...
在validatePass1
func中,此.form
被下划线为错误,正如此.$refs
一样:
“类型“VueConstructor”上不存在属性“form”您可以全局实例化vue
window.vm = new Vue ({...});
并在ts文件中的任何位置引用它,如
window.vm.$refs.form