typescript vue Throttle ResizeObserver this指向错误?

我在用Typescript重构vue组件时,loash的Throttle方法this的指向错误,

<template lang="pug">
    .vue-waterfall-ex-container( ref="outerEl" )
</template>

<script lang="ts">
    import { Component, Vue, Prop, Watch, Ref, Emit } from "vue-property-decorator"
    import { Throttle } from "lodash-decorators"

    @Ref("outerEl") readonly outerEl: HTMLDivElement

    @Component
    export default class VueWaterfallEx extends Vue {
        private mounted(): void {
            this.resizeObserver = new ResizeObserver(this.onContainerResized)
            this.resizeObserver.observe(this.outerEl)
        }
        
        @Throttle(250)
        private onContainerResized(): void {
            console.log(this) // 打印 ResizeObserver {}, 这里的this指向错误
        }
    }
</script>

请问,这应该怎么解决呢?

阅读 2.9k
1 个回答

函数都写到class外了...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏