如何在Angular CLI中过滤插值结果

时间:2019-03-04 09:49:44

标签: angular angular6 angular-cli

我正在使用ngFor迭代并在前端的HTML中呈现结果

我的结果之一是一条错误消息,我将其简单地呈现为:

{{result.Error}}

但是现在模型已更改,并且在某些情况下,“错误消息”现在可以包含JSON对象,因此页面将为包含JSON值的错误呈现完整的对象。

如何通过检查其JSON是否返回,是否仅返回 errorMessage 的值以及是否不是JSON来返回完整消息,来过滤此结果

谢谢

2 个答案:

答案 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' }}