私のサンプル JSON と js:
function foo1(a) { return a*1.5;} //NOTE: foo1 accept one parameter
function foo2(a,b) { return a*1.5 + b;} //NOTE: foo2 accept two parameter
var arr=[ {func:foo1, para:[10]}, {func:foo2, para:[10,20]} ];
私のjQueryテンプレート(動作していません):
<script id="template1" type="text/x-jquery-tmpl">
${$item.data.func.apply(this,$item.data.para)}
</script>
テンプレートの呼び出し:
$('#template1').tmpl(arr).appendTo('#mycontainer');
私の問題:
- さまざまな数のパラメーターを受け入れるさまざまな関数があります (関数のパラメーターの数を変更することはできません)
- したがって、関数名を「func」に、パラメーターを「para」に(配列として)渡し、「apply」メソッドを使用してjQueryテンプレート内からメソッドを呼び出したい
- しかし、関数の後に適用を使用した場合 ( $item.data.func.apply など)、「未定義」エラーがスローされます
より多くの観察(作業中):
- $item.data.func(10) または $item.data.func(10,20) のようなメソッドを呼び出した場合、動作します
- メソッドを呼び出したい時点で
typeof $item.data.func
「関数」が返されます
助けてください