Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何使Vue实例之外的函数具有适当的“this”上下文?_Typescript_Vue.js - Fatal编程技术网

Typescript 如何使Vue实例之外的函数具有适当的“this”上下文?

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

我的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 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