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 ){
}

向参数添加函数:

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

使用$P类似$P.getFriendlyName()
For ex 访问模板内的函数。{$P.getFriendlyName($T.id)}

于 2012-01-29T05:06:45.813 回答
1
  1. 先定义函数:

    函数getFriendlyName(参数){

    }

  2. 向参数添加函数:

    $('模板名称').setParam('getFriendlyName', 'getFriendlyName');

  3. 使用 $P 之类的 $P.getFriendlyName() 访问模板内的函数

于 2010-10-20T10:38:30.707 回答
0

如果有人好奇,这是一个时间和背景问题。jTemplate 在同一页面上的 JS 文件被完全读取之前得到处理。将函数移动到开始处理顶部/第一个模板的对象中解决了问题。

于 2010-03-09T16:57:43.197 回答