Vue.js 如何访问计算的状态变量?
使用Vue类组件,如何获取计算变量的值?试图使用此.bar时出现错误:Vue.js 如何访问计算的状态变量?,vue.js,vue-component,vue-class-components,vue-property-decorator,Vue.js,Vue Component,Vue Class Components,Vue Property Decorator,使用Vue类组件,如何获取计算变量的值?试图使用此.bar时出现错误:属性“bar”在类型“Vue”上不存在。 <script lang="ts"> import { Vue, Component } from "vue-property-decorator"; @Component({ computed: { bar() { return true; }, },
属性“bar”在类型“Vue”上不存在。
<script lang="ts">
import { Vue, Component } from "vue-property-decorator";
@Component({
computed: {
bar() {
return true;
},
},
methods: {
qux() {
// How to get the value of bar here?
if (this.bar) {
baz();
}
},
},
})
export default class Foo extends Vue {}
</script>
从“Vue属性装饰器”导入{Vue,Component};
@组成部分({
计算:{
bar(){
返回true;
},
},
方法:{
qux(){
//如何在这里获得bar的值?
如果(本条){
baz();
}
},
},
})
导出默认类Foo扩展Vue{}
您不想使用getter的原因是什么
@Component({})
export default class Foo extends Vue {
get bar() { return true }
}
如果您使用vue属性装饰器,这将转换为计算属性,所有内容都将转到扩展类 正常Vue:
export default {
data(){
return {}
},
computed: {
bar() {
return true;
},
},
methods: {
qux() {
if (this.bar) {
baz();
}
}
}
}
打字稿也一样
@Component({})
export default class Foo extends Vue {
get bar() {
return true;
}
private qux() {
if (this.bar) {
this.baz();
}
}
private baz() {
//do smth
}
}
这是因为您没有使用正确的语法 你应该改变你对这个的看法
从“Vue属性装饰器”导入{Vue,Component};
@组成部分
导出默认类Foo扩展Vue{
get bar():布尔值{
返回true;
}
qux(){
如果(本条){
baz();
}
}
}