0

jTemplatesテンプレート内から呼び出そうとしている関数で、「XYZ.getFriendlyNameは関数ではありません」というエラーが発生するという奇妙な問題が発生しています。簡単なことを見落としていたに違いないようですが、思いつく限りのことをやってみましたが、エラーが続きます。コードは次のようになります。

<input type="text" value="{#if $T.RowId !== null}{XYZ.getFriendlyName($T.RowId)}{#/if}"/>

関数内のすべてを削除して構文エラーを除外し、関数の名前を変更してグローバル名前空間に移動し、関数自体をテンプレートが存在するページに移動してから、テンプレートコードを作成してみました。三項演算子。これまでのところ、jTemplatesではまったく機能していません。同じエラーが引き続き発生します。誰かが私がこの問題を解決できる方法を知っていますか?

ありがとう!ガラン

4

3 に答える 3

2

関数にアポストロフィを使用しないでください:最初に関数を定義します:

function getFriendlyName( param ){
}

paramに関数を追加します:

$('template-name').setParam('getFriendlyName', getFriendlyName);

たとえば、$Pのように使用して、テンプレート内の関数にアクセスします。$P.getFriendlyName()
{$P.getFriendlyName($T.id)}

于 2012-01-29T05:06:45.813 に答える
1
  1. 最初に関数を定義します。

    function getFriendlyName(param){

    }

  2. paramに関数を追加します:

    $('template-name')。setParam('getFriendlyName'、'getFriendlyName');

  3. $ P.getFriendlyName()のように$ Pを使用して、テンプレート内の関数にアクセスします

于 2010-10-20T10:38:30.707 に答える
0

誰かが興味を持った場合、これはタイミングとコンテキストの問題でした。同じページのJSファイルが完全に読み取られる前に、jTemplateが処理されていました。トップ/ファーストテンプレートの処理を開始するオブジェクトに関数を移動すると、問題が修正されました。

于 2010-03-09T16:57:43.197 に答える