Vue 和 vue-property-decorator。beforeRouteUpdate 挂钩中的 TS 错误

大纲

我正在使用 Vue 2/typescript 和 vue-property-decorator 编写应用程序。在我的组件中,我使用 beforeRouteEnter/beforeRouteUpdate 挂钩。我的组件有方法 findProjects,我想在我的beforeRouteUpdate挂钩中调用这个方法。

我的组件:

import { Component, Vue, Mixins, Watch } from 'vue-property-decorator'
...
export default class ProjectSandboxTs extends Mixins(GlobalFilterMixin({})) {
  created() {...
  }

  clearInput() {...
  }

  findProjects() {
    const filter: IFilter = { ...this.modalFilterValues, ...this.filterValues }
    this.filterProjects(filter)
    this.displayProjects()
    this.isEmpty = this.filteredData.length === 0
  }

  filterProjects(filter: IFilter) {...
  }

但是当我尝试在我的钩子中调用组件的方法时,我得到了打字稿错误:“Vue”类型上不存在属性“findProjects”

beforeRouteUpdate(to, from, next) {
  if (!isEqual(to.query, from.query)) {
    this.findProjects() // <== Property 'findProjects' does not exist on type 'Vue'
  }
  next()
}

任何想法如何解决它?

亚当·奥沃夫斯基

这是因为 typescript 不知道实例的类型this尝试这样的事情:

(this as ProjectSandboxTs).findProjects()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Vue.js和Vue-router的生命周期挂钩中的优先级

[Vue警告]:创建的挂钩中出现错误:“ TypeError:无法设置未定义的属性”

[Vue警告]:安装的挂钩中出现错误:“ ReferenceError:未定义post_id”

如何从Mounted()和created()挂钩中的AJAX调用中获取Vue道具和数据

Volar 和 vue-tsc 显示不同的 TS 错误

在Vue方法挂钩中使用d3.select(this)时,如何解决未定义的错误?

在created()生命周期挂钩中的vue异步调用

beforeCreate挂钩中的Vue 2.1调用方法不起作用

在Vue安装的挂钩中未定义TradingView

Vue / Vuex在创建的挂钩中等待异步调度

Vue和Typescript:在访问子组件的方法时如何避免TS错误

nativescript-vue无法读取生命周期挂钩中的数据属性

在Vue.js中,如何检测在created()挂钩中的代码是否在浏览器中运行?

如何在Vue实例的beforeCreate挂钩中进行异步调用?

vue-test-utils:如何在mount()生命周期挂钩中测试逻辑(使用vuex)?

Vue.js如何在已创建或已安装的挂钩中调用突变?

如何在Vue created()挂钩中使用本机javascript方法?

如何在功能组件和挂钩中使用AppState?必要还是我使用useEffect错误?

TypeScript和Vue类-TS7053索引签名

使用Vue,TS和nodeJS创建基本项目模板?

Vue和TS上不存在该属性

vue.js如何在使用TypeScript和vue-property-decorator时将属性绑定到方法返回值?

避免IDT挂钩中的页面错误

柏树覆盖不适用于vue-property-decorator

使用vue-property-decorator时注册本地组件

Vue和Vue资源

在本地链接Vue应用程序和Vue库-> d.ts问题;

来自vue-property-decorator的@model装饰器生成vue-warn:避免变异

TypeScript抱怨使用vue-property-decorator定义的现有Vue组件属性