Vue.js 如何在VSCode中为继承的VueJS组件添加intellisense属性?
使用VueJS2(javascript),我试图在VSCode中添加更好的intellisense 我可以使用JSDoc语法在组件中添加类型定义,但不知道如何从其他组件访问这些定义 在下面的简化示例中,我有一个带有Vue.js 如何在VSCode中为继承的VueJS组件添加intellisense属性?,vue.js,visual-studio-code,vuejs2,jsdoc,Vue.js,Visual Studio Code,Vuejs2,Jsdoc,使用VueJS2(javascript),我试图在VSCode中添加更好的intellisense 我可以使用JSDoc语法在组件中添加类型定义,但不知道如何从其他组件访问这些定义 在下面的简化示例中,我有一个带有getIsLoaded和getSetIsLoaded计算属性的基本组件 下面是派生组件,它扩展了:BaseComponent 我想让VSCode知道getSetIsLoaded和getIsLoaded,这样其他开发人员就可以键入'this.g'来获得可用属性及其类型的列表 BaseCo
getIsLoaded
和getSetIsLoaded
计算属性的基本组件
下面是派生组件,它扩展了:BaseComponent
我想让VSCode知道getSetIsLoaded
和getIsLoaded
,这样其他开发人员就可以键入'this.g'来获得可用属性及其类型的列表
BaseComponent.vue
。。。
导出默认值{
名称:'BaseComponent',
道具:{
卸载:{
类型:布尔型,
默认值:false,
},},
数据:()=>({
_isLoading:false,//这是专用的
}),
计算:
/**@returns{boolean}*/
getIsLoading(){
返回此。$data.\u正在加载;
},
getSetIsLoading:{
/**@returns{boolean}*/
得到(){
返回此。$data.\u正在加载;
},
/**@param{boolean}val发出更新:isLoading,val*/
设置(val){
此.$data.\u isLoading=val;
此.emit('update:isLoading',val');
},},},
观察:{
卸载:{
立即:是的,
处理程序(val){
this.getSetIsLoading=val;
},},},};
...
DerivedComponent.vue
。。。
从“./BaseComponent.vue”导入BaseComponent;
导出默认值{
名称:“DerivedComponent”,
扩展:BaseComponent,
计算:{
valueBundle(){
返回{
isLoading:this.getSetIsLoading
};},},};
...
我已经尝试了很多方法来让它工作,但是我什么也没有得到。如果有人能帮我做这件事,我将不胜感激:-)你找到答案了吗?我现在也在想同样的事情:(@carestad我想不出来,不:-/
...
<script>
export default {
name: 'BaseComponent',
props: {
isLoading: {
type: Boolean,
default: false,
},},
data: () => ({
_isLoading: false, // this is intended to be private
}),
computed:
/** @returns {boolean} */
getIsLoading () {
return this.$data._isLoading;
},
getSetIsLoading: {
/** @returns {boolean} */
get () {
return this.$data._isLoading;
},
/** @param {boolean} val emits update:isLoading, val */
set (val) {
this.$data._isLoading = val;
this.$emit('update:isLoading', val);
},},},
watch: {
isLoading: {
immediate: true,
handler (val) {
this.getSetIsLoading = val;
},},},};
</script>
...
...
<script>
import BaseComponent from './BaseComponent.vue';
export default {
name: 'DerivedComponent',
extends: BaseComponent,
computed: {
valueBundle() {
return {
isLoading: this.getSetIsLoading
};},},};
</script>
...