javascript - 将自定义 getter 添加到接收到的 json
问题描述
将自定义getter添加到json的最佳方法是什么,这在某些视图中经常使用?例如考虑代表用户对象的json。这个 json 有firstName
, lastName
, 'age' 等字段。当我想要在 Vue 组件中使用用户名呈现标签时,我想要这样的标签:firstName + ' ' + lastName + '(' + age + ')'
我想在我的整个 SPA 应用程序中在这个 json 中有新的字段或吸气剂。我有这个想法:
从 axios 接收 json,并像这样修改这个 json:
responseData.fullName = responseData.firstName + ' ' + responseData.lastName + '(' + responseData.age + ')'
将 json 映射到类对象,该对象将映射所有字段,并将 getter 连接到全名,如下所示: user = new User(responseData)
还是我没有提到的其他方式?
我是开发单页应用程序的新手,因此我将不胜感激任何建议。
解决方案
您可以将吸气剂添加到您的用户类
class User {
get fullName() {
return `${this.firstName} ${this.lastName} (${this.age})`
}
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get
考虑使用计算属性:
export default {
name: 'SomeComponent',
computed: {
userFullName() {
return this.user ? `${this.user.firstName} ${this.user.lastName} (${this.user.age})` : '';
}
},
data() {
return {
user: null
};
},
methods: {
async loadData() {
this.user = await axios.get('');
}
}
};
推荐阅读
- python - 如何避免多次加载模块?
- python - 如何在 GIT 和 python 中具有分支特定变量
- .net-core - 读取本地存储的图像作为背景图像进行减法
- excel - 防止用户在用户表单中输入之前的日期
- python - 我应该如何在静态图像 api 的 URL 中添加 geojson?
- vba - 如何使用 VBA 通过 Shadow DOM 单击元素?
- azure - 如何从 Azure Functions 接收事件消息以获取 WebApp 中的内容?
- excel - 根据可选过滤条件计算 Excel 中的行数
- javascript - 在 vue 测试 utils 中 $refs 设置为空对象
- openmodelica - OpenModelica:如何为 MSL 4.0.0 安装包(ModelicaServices)?