在angularjs中配置文本标签

时间:2018-10-30 12:02:12

标签: html angularjs

我要配置文本标签用户友好。例如http响应就像

[
  {
    "approved_datetimestamp": "",
    "approved_by": "",
    "effective_datetimestamp": "",
    "act_datetimestamp": "",
    "expiry_datetimestamp": "",
    "rejected_datetimestamp": "",
    "rejected_by": ""
  }
]

在这里,密钥是标签,我要配置该密钥。例如。 approved_datetimestamp将是Approved Datetimestamp

我有办法创建像

这样的常量变量
const approved_datetimestamp = "Approved Datetimestamp";

当我们在模板中显示时,我正在使用:

<div class="col-sm-6">{{row[rcolumn] | uppercase}}</div>

否则 每个单词的首字母大写,并用空格替换下划线。正在解释这个

2 个答案:

答案 0 :(得分:1)

在这里,遍历对象属性,在下划线处将它们分割并大写每个单词,然后将其分配给属性。

var object = {
    "approved_datetimestamp": "jsjs",
    "approved_by": "",
    "effective_datetimestamp": "",
    "act_datetimestamp": "",
    "expiry_datetimestamp": "",
    "rejected_datetimestamp": "",
    "rejected_by": ""
};

for(var property in object) {
   var newProperty = property.toLowerCase()
                             .split('_')
                             .map((s) => s.charAt(0).toUpperCase() + s.substring(1))
                             .join(' ');
   object[newProperty] = object[property];
   delete object[property];
}

console.log(object);

答案 1 :(得分:1)

您正在考虑创建dynamic keys

您需要创建一个带有过滤器的键(我从 LazioTibijczyk获得了代码),然后只需将其传递给对象进行分配即可。它将动态创建该新密钥。这是一个演示:

var object = {
  "approved_datetimestamp": "",
  "approved_by": "",
  "effective_datetimestamp": "",
  "act_datetimestamp": "",
  "expiry_datetimestamp": "",
  "rejected_datetimestamp": "",
  "rejected_by": ""
};

var new_object = {};

for (var property in object) {
  var new_key = property.toLowerCase()
    .split('_')
    .map((s) => s.charAt(0).toUpperCase() + s.substring(1))
    .join(' ');
  new_object[new_key] = "";
}

console.log(new_object);