【发布时间】:2019-03-16 21:06:16
【问题描述】:
我收到错误:
“成员 'someMutation' 隐含地具有 'any' 类型。”。
此错误出现在我的 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。
【问题讨论】:
标签: typescript vue.js vuejs2 vuex