Вывести значение параметра в возвращаемую область - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть функция createTool, у которой есть параметр данных, она возвращает объект, который имеет много полей, я хочу напечатать параметр в возвращаемых данных, но всегда ничего не печатать. Как я могу напечатать параметр данных в возвращаемой области?

createTool(data){          
    console.log(data);  //print data value correctly 
    return {
        id: 'sidebar',
        label: 'SideBar',
        content: {
            tagName: 'div',
            components: [
              {
                script: 
                `console.log(`+ data + `);\n`  //print no thing
              }
            ]
          }
    }
}

1 Ответ

0 голосов
/ 20 декабря 2018

Я не уверен, что понимаю, что вы пытаетесь сделать, но вот удар:

function createTool(data){          
  return {
    id: 'sidebar',
    label: 'SideBar',
    content: {
      tagName: 'div',
      components: [
        {
          script: () => { console.log(data); }
        }
      ]
    }
  }
}

const test = createTool('Hello, world!');

test.content.components[0].script();

Если вы абсолютно хотите вернуть функцию в виде строки (на самом деле, это не очень хорошая идея), вот как это сделать:

function createTool(data){          
  return {
    id: 'sidebar',
    label: 'SideBar',
    content: {
      tagName: 'div',
      components: [
        {
          script: `console.log(${JSON.stringify(data)});\n`
        }
      ]
    }
  }
}

const test = createTool('Hello, world!');

eval(test.content.components[0].script);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...