Angular 7中键值分配的Javascript函数

时间:2019-03-07 14:56:01

标签: javascript angular

我正在尝试找到我遇到的下一个问题的解决方案。我正在尝试通过在项目中使用Amchart3来构建动态字符串,我需要执行以下操作:

return [{
    id: 'Rate',
    alphaField: 'alpha',
    balloonText: function(graphDataItem, graph): String {
      let stringNew = 'smth';
      return stringNew;
    },
}];

我遇到的问题是,在ballonText值中编写的函数未触发(我检查了一个断点),并且在调用使用返回列表的函数时未返回任何内容。

我的问题是,我怎么能写一个像

这样的函数?
key: function(a,b) {
     return a + b;
}

在Angular 7中,就像在Javascript中一样?

1 个答案:

答案 0 :(得分:0)

您的问题是将功能“值”分配给键ballonText的方式。如果使用es6(可让您缩写键/值名称),则可以像下面这样分配函数:

const es6Assign = {
  id: 'Rate',
  myFunc(str) {
    return str.toUpperCase();
  }
}

// prints out HELLO
console.log('calling es6Assign func: ', es6Assign.myFunc('hello'));

如果要以普通方式进行操作,则即使该函数具有键值,也应命名该函数:

const explicitAssign = {
  id: 'Rate',
  myFunc: function myFunc(str) {
    return str.toLowerCase();
  }
}

// prints out hello
console.log('calling explicitAssign func: ', explicitAssign.myFunc('HELLO'));

关于为什么?;我的猜测是,即使 you 键是函数的“名称”,但对于代码而言,不存在没有名称的函数,即function() { ... }将返回{ {1}}。我在示例Fiddle中添加了该案例,以便您了解发生了什么。