Vuex Typescript我收到了错误;成员';某些突变';隐式具有';任何';类型。”;在Component.ts文件中
我得到一个错误: “成员'someMutation'隐式具有'any'类型。” 此错误出现在我的Vue组件的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();
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