Computed Vue 属性 with Getter & Setter 不会在 Webpack 中编译
Computed Vue Property with Getter & Setter won't compile in Webpack
我正在尝试将开发中的应用程序仅 Javascript 转换为 Typescript。我 运行 遇到了一个似乎无法解决的问题。我有一个计算 属性 和一个 getter 和一个 setter ,当 运行 通过 Webpack 时不会编译。我没有使用 class 装饰器方式来声明组件,而是使用对象字面量语法。
import Vue from "vue"
export default Vue.extend({
computed: {
prioritized: {
get(): any[] {
return this.$store.getters["blah"];
}
set(value): void {
//set value here
}
}
}
})
下面是 webpack 给我的第一个错误:
错误在 ~listHome.ts(30,29)
TS2339:属性 '$store' 在类型 '{ get(): any[]; 上不存在;设置(值:未知):无效; }'.
老实说,我是 Typescript 的新手,所以在移植这个应用程序时我可能会遗漏一些简单的东西。
哇,想通了。
我缺少 "value" 的类型声明,它破坏了一切。有趣
get(): any[] {
return this.$store.getters["homeList/sortedPriority"];
},
set(value:any): void {
var test = 1;
}
如果您正在使用 vue-property-decorator
,您可以执行以下操作
import { Component, Vue } from "vue-property-decorator"
@Component
export default class GetterSetterTest extends Vue {
get prioritized() {
return this.$store.getters["blah"];
}
set prioritized(value: any) {
// set the value something like below
this.$store.commit(.......)
}
}
我正在尝试将开发中的应用程序仅 Javascript 转换为 Typescript。我 运行 遇到了一个似乎无法解决的问题。我有一个计算 属性 和一个 getter 和一个 setter ,当 运行 通过 Webpack 时不会编译。我没有使用 class 装饰器方式来声明组件,而是使用对象字面量语法。
import Vue from "vue"
export default Vue.extend({
computed: {
prioritized: {
get(): any[] {
return this.$store.getters["blah"];
}
set(value): void {
//set value here
}
}
}
})
下面是 webpack 给我的第一个错误:
错误在 ~listHome.ts(30,29) TS2339:属性 '$store' 在类型 '{ get(): any[]; 上不存在;设置(值:未知):无效; }'.
老实说,我是 Typescript 的新手,所以在移植这个应用程序时我可能会遗漏一些简单的东西。
哇,想通了。
我缺少 "value" 的类型声明,它破坏了一切。有趣
get(): any[] {
return this.$store.getters["homeList/sortedPriority"];
},
set(value:any): void {
var test = 1;
}
如果您正在使用 vue-property-decorator
,您可以执行以下操作
import { Component, Vue } from "vue-property-decorator"
@Component
export default class GetterSetterTest extends Vue {
get prioritized() {
return this.$store.getters["blah"];
}
set prioritized(value: any) {
// set the value something like below
this.$store.commit(.......)
}
}