我正在使用ngFor迭代并在前端的HTML中呈现结果
我的结果之一是一条错误消息,我将其简单地呈现为:
{{result.Error}}
但是现在模型已更改,并且在某些情况下,“错误消息”现在可以包含JSON对象,因此页面将为包含JSON值的错误呈现完整的对象。
如何通过检查其JSON是否返回,是否仅返回 errorMessage 的值以及是否不是JSON来返回完整消息,来过滤此结果
谢谢
答案 0 :(得分:0)
您可以添加内联模板条件,也可以在组件中使用方法来添加其他逻辑。
对于内联模板条件:
在您的HTML中:
{{ result.Error.errorMessage ? result.Error.errorMessage : result.Error }}
作为一种方法(用于更复杂的逻辑):
在您的HTML中:
{{ checkError(result.Error) }}
在您的TS文件中:
checkError(error: any) {
return result.Error.errorMessage ? result.Error.errorMessage : result.Error;
}
答案 1 :(得分:0)
利用JS及其测试字符串的方法:
let error = 'some error from string';
function showError() {
console.log(error && error.json && error.json.message || error.json || error || 'no error');
}
showError();
error = { json: 'some error from json' };
showError();
error = { json: { message: 'some error from json.message' } };
showError();
您可以随心所欲。用角形,这将使
{{ error && error.json && error.json.message || error.json || error || 'no error' }}