如何在javascript中编写以字符串形式返回脚本的函数

如何在javascript中编写以字符串形式返回脚本的函数,javascript,angularjs,Javascript,Angularjs,我正在使用angular,我想在指令的模板中附加一个脚本。我想通过编写一个函数来实现这一点,该函数接受脚本所需的参数,然后将其作为字符串返回。我希望这样做,这样我就不必编写长javascript文件作为字符串 我有以下指示: 指示 用${,} $element.append(`<script>${render(rev)}</script>`); $element.append(`${render(rev)}`); ${render(rev)}顺便说一句渲染不会在您提供的

我正在使用angular,我想在指令的模板中附加一个脚本。我想通过编写一个函数来实现这一点,该函数接受脚本所需的参数,然后将其作为字符串返回。我希望这样做,这样我就不必编写长javascript文件作为字符串

我有以下指示:

指示 用
${
}

$element.append(`<script>${render(rev)}</script>`);
$element.append(`${render(rev)}`);

${render(rev)}
顺便说一句<代码>渲染不会在您提供的代码段中返回脚本。它在执行IIFE时返回未定义的值。@KevinB这是我想学习的。我所做的是尝试从函数及其参数创建脚本。我该怎么做?我不确定。对我来说这似乎是个很糟糕的主意,为什么你不能。。。执行代码,而不是尝试将其注入到页面中,这只会简单地执行代码?我仍然得到
rev未定义
。I console.logged rev在该行之前,并且rev具有您希望它具有的数据您可以创建一个plnkr来演示吗?注意
render
返回
undefined
,因为在
render
函数中没有从iLife返回值。
参数是否附加到
#图表
元素中?预期的结果是什么?像这样的东西虽然在我这边$watch工作得很好,但在这个plunker中它并不熟悉
angularjs
。什么是
rev
?plnkr的代码与问题代码不同。
rev
应该是异步函数调用的结果吗?rev是一个json对象,它可以是任何东西。在plunker中,我使用占位符数据
function render(params){
   return (function(){
            $('#chart').append('<p> params </p>');
          })();
}
rev is not defined
$element.append(`<script>${render(rev)}</script>`);