Typescript 显示“this”对象的错误,提示 TS2532:对象在 vue 方法中可能是“未定义”

Dom*_* Zi 1 javascript typescript vue.js vuejs3

由于我对写问题还很陌生,我对可能的错误表示歉意。

问题:我有一个带有打字稿的 vue 应用程序。

export default {
    methods: {
        setProgram: (program: Program)=>{
            this.program = program // TS2532: Object is possibly 'undefined'.
            this.step++ // TS2532: Object is possibly 'undefined'.
        }
    },
    ...
}
Run Code Online (Sandbox Code Playgroud)

虽然我真的很喜欢打字稿的这个功能,但我真的确信,在这种情况下“this”不会是未定义的。

我怎样才能让打字稿平静下来关于“this”的使用?

非常感谢大家,祝你有美好的一天!

最好的多姆。

Dom*_* Zi 13

知道了!

如果在 lambda 函数内部使用“this”可能是未定义的:)

只是改变

setProgram: (program: Program) => {

到:

setProgram: function (program: Program) {

它有效......