gpt4 book ai didi

typescript - Vuex Typescript 我收到错误 "Member ' someMutation' implicitly has an 'any' type."in the Component.ts file

转载 作者:行者123 更新时间:2023-12-03 06:41:35 26 4
gpt4 key购买 nike

我收到错误:

"Member 'someMutation' implicitly has an 'any' type.".

此错误出现在我的 Vue 组件的 Component.ts 文件中,用于从 Vuex 商店接收到的突变。

我在 Component.ts 中有以下代码:

@WithRender
@Component({
components: { SomeChildComponent },
})
export default class Component extends Vue {
constructor() {
super();
this.someFunc(this.someComponentMethod);
// ... some logic
}
@Mutation public someMutation;

private someComponentMethod(str: string) {
this.someMutation();
}
}

突变存储代码:

const mutations: MutationTree<State> = {
someMutation(state, name: string): void {
state.prop = state.prop.filter((el: IEl): boolean => el.name !== name);
},
};

const c = {
state,
getters,
mutations,
};

const store = new Vuex.Store(c);

我尝试了一些变体,例如 @Mutation public someMutation: void;@Mutation public someMutation(s: string): void;,但没有成功。

我的目的是解决这个问题,而不仅仅是关闭 tslint.json 文件中的规则 NoImplicitAny

最佳答案

根据someMutation的来源,该方法接受一个名为namestring参数,并返回void,其类型如下:

(name: string) => void

由于该属性由vuex-class 自动初始化,我们可以使用definite assignment assertion以避免“无初始化程序”错误。

!: (name: string) => void
^

最后的结果是:

@Mutation someMutation!: (name: string) => void

关于typescript - Vuex Typescript 我收到错误 "Member ' someMutation' implicitly has an 'any' type."in the Component.ts file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55201486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com