Vuex Typescript我收到了错误;成员';某些突变';隐式具有';任何';类型。”;在Component.ts文件中

Vuex Typescript我收到了错误;成员';某些突变';隐式具有';任何';类型。”;在Component.ts文件中,typescript,vue.js,vuejs2,vuex,Typescript,Vue.js,Vuejs2,Vuex,我得到一个错误: “成员'someMutation'隐式具有'any'类型。” 此错误出现在我的Vue组件的Component.ts文件中,用于从Vuex存储区接收的突变 我在组件.ts中有以下代码: @WithRender @Component({ components: { SomeChildComponent }, }) export default class Component extends Vue { constructor() { super();

我得到一个错误:

“成员'someMutation'隐式具有'any'类型。”

此错误出现在我的Vue组件的
Component.ts
文件中,用于从Vuex存储区接收的突变

我在
组件.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);
const突变:突变树={
someMutation(state,name:string):void{
state.prop=state.prop.filter((el:IEl):boolean=>el.name!==name);
},
};
常数c={
国家,,
获得者,
突变,
};
const store=新的Vuex.store(c);
我尝试了一些变体,比如
@Mutation-public-someMutation:void
@Mutation(s:string):无效,但未成功


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

基于
someMutation
的源代码,该方法采用一个名为
name
string
参数,并返回
void
,其类型如下:

(name: string) => void
由于属性由vuex类自动初始化,因此我们可以使用来避免“无初始值设定项”错误

最终结果是:

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

托尼,非常感谢你的回答!这个解决方案绝对可以解决我的问题!)你是打字大师!再次感谢!:)@维卡:没问题:)
@Mutation someMutation!: (name: string) => void