Получите доступ к компоненту vue в ошибке смешивания tupescript (TS2339) - PullRequest
0 голосов
/ 17 января 2020

У меня есть это:

import {Component, Vue} from 'vue-property-decorator';

@Component({})
export default class MyMixin extends Vue {
scrollToTop(): void {
        let scrollingWrapper: any = (this.$refs[this.activeTab] as Vue).$refs['scrolling-wrapper'];
        ...
    }
}

затем

export default class MyModal extends MyMixin {
        get activeTab(): string {
            return myStore.activeTab;
        }
}

Mixin вызывает геттер компонента и все работает нормально, но я получаю это сообщение TS2339: Свойство activeTab не существует на введите «MyMixin».

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Это плохое решение, но я не могу найти другое. Привели это к любому перед вызовом метода.

let scrollingWrapper: any = (this.$refs[(this as any).activeTab] as Vue).$refs['scrolling-wrapper'];

Спасибо всем.

0 голосов
/ 17 января 2020

Попробуйте определить это здесь

import {Component, Vue} from 'vue-property-decorator';

@Component({})
export default class MyMixin extends Vue {

activeTab: any;
scrollToTop(): void {
        let scrollingWrapper: any = (this.$refs[**this.activeTab**] as Vue).$refs['scrolling-wrapper'];
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...