简单的问题,但我想知道如何有效地做到这一点。很容易吸引负面选票。
我有一个模型想在前端和后端之间共享。对于前端手动我想添加一些属性。后端不需要这些属性。
export class ModelA {
id: string;
name: string;
value: number;
}
以上对于服务器(后端)来说已经足够了。
但在前端我需要做一件额外的事情。基于值我需要定义颜色属性(值<10,颜色绿色等..)
export class ModelA {
id: string;
name: string;
value: number;
color: string;
}
因此,当我在编辑 id/name 后将 ModelA 更新回服务器时,我不想传递颜色属性。
使用单一模型我如何实现这一目标?
最佳答案
我认为在这种情况下您要寻找的是切片(例如参见: How to get a subset of a javascript object's properties )
您实际上正在获取对象属性的子集,
let objectFront = { id: 'a', name: 'b', value: 'c', color: "d" };
let objectBack = (({id, name, value}) => ({id, name, value}))(objectFront);
编辑: 另外,我不确定对象上拥有更多属性对您有何不利。这取决于您的框架和查询方法。在后端部分接收对象时,我会简单地忽略对象的附加属性。
关于javascript - 前端和服务器共享相同的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44257780/