2016-11-10 95 views
0

我试图通过调用其中的函数来添加一个新的属性调用填充到JSON。但是我收到一个错误,提示函数没有定义。我打电话使用this条款,但仍然收到相同的错误。 这是我的数据。根据传递给它的文本名称时调用JSON对象中的函数

[{ key: 1, fill:this.fillcolor(mytext),text: mytext }] 

fillColor函数返回一个颜色代码。

fillColor = (data) => { 

     switch (data) { 
      case 'NMP': 
       return 'indigo400'; 
      break; 
      case 'KPD': 
       return 'pinkA200'; 
      break; 
      case 'NMV': 
       return 'orangeA400'; 
      break; 
      case 'KRV': 
       return 'lightBlue400'; 
      break; 
      case 'NIP': 
       return 'yellowA200'; 
      break; 
      case 'KRU': 
       return 'lightGreenA400'; 
      break; 
      case 'UPS': 
       return 'deepPurpleA100'; 
      break; 
      case 'MK': 
       return 'brown300'; 
      break; 

      default: 
      return 'pinkA200'; 

     } 

    }; 

我仍然不知道为什么我不断收到此错误。 参数myText包含名称/属性。

+1

尝试var fillcolor = function(data){//您的代码}。不要添加this.fillcolor只是fillcolor(数据)。@ Tromesh –

+1

什么是您的问题标题引用的“JSON对象”?在什么情况下你定义'fillColor'?你在什么环境下打电话? – 2016-11-10 03:41:45

回答

0

您应该遵循正确的JSON结构像

[{"data":[["1","2"],["3","4"]],"aFunction":"function(){return \"foo bar\";}"}] 

而且你所指的背景下是错误的。 这个在你的代码中反其他的东西。