Компонент Vue, который я создал с помощью TypeScript и vue-chartjs, постоянно вызывает у меня проблему this.renderChart
несуществования. Кажется, я не могу найти способ определить это.
Свойство «renderChart» не существует для типа «
CombinedVueInstance<Vue, unknown, unknown, unknown, Readonly<Record<"chartData" | "options", any>>>
».
Всякий раз, когда я использую console.log()
для определения this
, он показывает мне существующую функцию вместе с этими исключениями и выдает их.
renderChart: ƒ ()
arguments: [Exception: TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at Function.invokeGetter (<anonymous>:1:142)]
caller: [Exception: TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at Function.invokeGetter (<anonymous>:1:142)]
length: 2
name: "bound renderChart"
__proto__: ƒ ()
[[TargetFunction]]: ƒ renderChart(data, options)
[[BoundThis]]: VueComponent
[[BoundArgs]]: Array(0)
styles: (...)
width: (...)
Это компонент
LineChart.vue
<script lang="ts">
import Vue from "vue";
import { Line, mixins } from "vue-chartjs";
export default Vue.extend({
name: "LineChart",
extends: Line,
mixins: [mixins.reactiveProp],
props: ["chartData", "options"],
mounted() {
this.renderChart(this.chartData, this.options);
}
});
</script>
Должен ли я попытаться найти способ обойти это, или есть путаница в том, как я вызвал функцию? Я просмотрел документы vue-chartjs, и функция называется той же Кстати, я предполагаю, что они не используют TypeScript.
LineChart
компонент реализует{ renderChart(chartData: any, options: any) }
- person Phil   schedule 09.06.2020(this.$refs.whatever as LineChartInterface).renderChart(...)
- person Phil   schedule 09.06.2020