有很多关于如何使用 JavaScript 语言与 Vue.js 交互的文档,还有一些关于 TypeScript 的文档。问题是你如何定义 computed
一个 vue
组件中的道具,如果它是用 TypeScript 编写的?
根据 官方示例, computed
是一个对象,其函数将根据其依赖的道具进行缓存。
这是我做的一个例子:
import Vue from 'vue';
import { Component } from "vue-property-decorator";
@Component({})
export default class ComputedDemo extends Vue {
private firstName: string = 'John';
private lastName: string = 'Doe';
private computed: object = {
fullName(): string {
return `${this.firstName} ${this.lastName}`;
},
}
}
和html:
<div>
<h1>Computed props ts demo</h1>
<ul>
<li>First name: {{firstName}}</li>
<li>Last name: {{lastName}}</li>
<li>Together: {{fullName}}</li>
</ul>
</div>
第三个列表项不输出任何内容。谁能告诉我在这种情况下如何定义 computed
?
原文由 Lev Khruschev 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用属性访问器来声明计算属性。请参阅 Vue 类组件。一旦你输入输入,getter 就会被触发。
例如:
Vue 组合 API 更新