我需要显示格式化输出,如下所示

时间:2017-06-22 05:03:09

标签: angularjs

angular.forEach(caseChangeRecord, function(change, key) {
    if (caseChangeRecord != 'undefined') {
         body += change.fieldName + ' : ' + change.newValue;
    }
});

实际显示输出:

A:BA:A:BA:B

需要显示输出:

A:B

A:B

A:B

2 个答案:

答案 0 :(得分:0)

  

body + = change.fieldName +' :' + change.newValue +' < BR>&#39 ;;

答案 1 :(得分:0)

循环中的

if (caseChangeRecord != 'undefined')条件没有影响,因为如果caseChangeRecord未定义,我们将永远不会进入循环,在我的示例中我假设caseChangeRecord是一个数组(如果它是一个对象,我们可以使用Object.keys(caseChangeRecord)并通过其键获取每个项目。

此外,您可能需要使用$sce服务及其trustAsHtml()功能:

var caseChangeRecord = [
  {
    fieldName: 'A1',
    newValue: 'B1'
  },
  {
    fieldName: 'A2',
    newValue: 'B2'
  },
  {
    fieldName: 'A3',
    newValue: 'B3'
  } 
];

if (caseChangeRecord) {
  $scope.body = $sce.trustAsHtml(caseChangeRecord.map(function (change) {
    return '<p>' + change.fieldName + ' : ' + change.newValue + '</p>';
  }).join(''));
}

然后在您的HTML中,您可以使用它:

<body ng-controller="MainCtrl" ng-bind-html="body"></body>

这不完全是你的情况,但我认为这样你可以解决你的问题,如果你需要一个精确的解决方案,更新我的plunker,我会尽力帮助。

plunker:https://plnkr.co/edit/Mk1Fbguce7ctXlVN6qsf?p=preview