Gab*_*ada 5 typescript angular
我正在尝试从服务器请求一些数据。当我将属性的模型更改为未定义时,此“未定义”字符串将在查询字符串中发送。
let filterModel = new GroupFilterModel();
filterModel.status = anycondition ? "opened" : undefined;
this.http.get<GroupModel[]>("apiurl", { params: filterModel });
Run Code Online (Sandbox Code Playgroud)
发送的查询字符串是这样的:
apiurl?status=undefined
Run Code Online (Sandbox Code Playgroud)
我想避免发送状态变量。我怎么会有这种行为?
在 ES6 中使用这一行:
Object.keys(obj).forEach(key => obj[key] === undefined ? delete obj[key] : '');
Run Code Online (Sandbox Code Playgroud)
仿佛:
filterModel.status = anycondition ? "opened" : undefined;
const model = Object.keys(filterModel).forEach(key => obj[key] === undefined ? delete obj[key] : '');
this.http.get<GroupModel[]>("apiurl", { params: model });
Run Code Online (Sandbox Code Playgroud)
您可以更进一步,使其成为对象的扩展:
Object.prototype.StripUndefined = function StripUndefined() {
return this.keys(filterModel).forEach(key => obj[key] === undefined ? delete obj[key] : '');
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |