我创建了一个自定义全局Vue.js过滤器来格式化降价语法。效果很好,但打字稿(或我选择的IDE为PhpStorm)无法从组件模板中识别“ markdown”过滤器。它不会引发错误,但是我没有任何智能感知。有什么方法可以将一些定义文件拖放到某个地方,以便获得智能感知?
答案 0 :(得分:2)
您要寻找的是module augmentation。具体来说,在他们的例子中,他们有一个augmenting types for use with plugins的示例。
但是,相同的原理也适用于您在此处所做的事情,因此您将制作一个文件,例如vue-shim.d.ts
,看起来像这样:
import Vue from 'vue'
import MarkdownFilterTyping from 'wherever'
declare module 'vue/types/vue' {
interface Vue {
filterMarkdown: MarkdownFilterTyping
}
}
现在您的ide
应该认识到Vue
具有此方法全局绑定