私は角度を使用していますが、私の指示文のテンプレートにスクリプトを追加したいと思います。スクリプトが必要とするパラメータを受け入れ、それを文字列として返す関数を書くことで、これを達成したいと考えています。私はこのようにして、長いJavaScriptファイルを文字列として書く必要はありません。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>`);
}
});
}
}
}
を私はこれらの線の周りに何かをしたいが、それは
(スクリプトを返すべき関数)をレンダリング動作しない
function render(params){
return (function(){
$('#chart').append('<p> params </p>');
})();
}
エラー
rev is not defined
'$ {レンダリング(REV)は}' – guest271314
ところで... 'render'は、あなたがきたスニペットでスクリプトを返しません。提供されます。 IIFEを実行する未定義の戻り値を返します。 –
@KevinBこれは私がする方法を学びたいものです。私が持っているのは、関数とそのパラメータからスクリプトを作成する何かをしようとする試みです。どうすればいい? –