Функция Javascript при назначении значения ключа в Angular 7 - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь найти решение для следующей проблемы, с которой я столкнулся. Я пытаюсь построить динамическую строку с помощью 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 голосов
/ 07 марта 2019

Ваша проблема в том, как вы назначаете функцию 'value' своей клавише 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() { ... } вернет undefined. Я добавил случай в пример Fiddle , чтобы вы могли видеть, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...