如何编写一个函数,在javascript

时间:2017-05-02 15:12:07

标签: javascript angularjs

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

我有以下指令:

指令

 function barchart() {
        return {
            restrict: 'EA',
            replace: true,
            template: `
                  <div id="canvas" class ="panel-body container-fluid">
                    <div class ="ui centered grid">
                        <div>
                            <div id="title"></div>
                            <div id="chart"></div>
                        </div>
                    </div>
                  </div>
                `,
            scope: {
                revenues: "=revenues"
            },
            link: function ($scope, $element, $attrs) {
                $scope.$watch('revenues', function (rev) {

                    if (typeof rev != 'undefined') {
                        $element.append(`<script> (render(${rev}))(); </script>`);
                    }
                });
            }
        }
    }

我想要这些内容,但它不起作用

render (应返回脚本的函数)

function render(params){
   return (function(){
            $('#chart').append('<p> params </p>');
          })();
}

错误

rev is not defined

1 个答案:

答案 0 :(得分:0)

使用render()${

进行}密切联系
$element.append(`<script>${render(rev)}</script>`);