在jTemplate中找不到的功能

时间:2010-02-23 16:42:03

标签: javascript jtemplate

我正在尝试从jTemplates模板中调用的函数出现一个奇怪的问题,给出错误“XYZ.getFriendlyName不是函数”。似乎我一定忽略了一些简单的事情,但我已经尝试了所有我能想到的事情并且错误仍然存​​在。代码如下所示:

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

我已经尝试删除函数中的所有内容以排除语法错误,重命名函数并将其移动到全局命名空间中,将函数本身移动到模板所在的页面中,在模板代码之前。三元运算符中的所有东西,到目前为止我还没有在jTemplates中完成任务。我继续得到同样的错误。有谁知道我可以解决这个问题的方法吗?

谢谢! Garann

3 个答案:

答案 0 :(得分:2)

不要使用撇号作为功能: 首先定义函数:

function getFriendlyName( param ){
}

向param添加功能:

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

使用$P之类的$P.getFriendlyName()进行模板内的访问功能 对于前者{$P.getFriendlyName($T.id)}

答案 1 :(得分:1)

  1. 首先定义函数:

    function getFriendlyName(param){

    }

  2. 向param添加功能:

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

  3. 使用$ P like访问模板内部的功能 $ P.getFriendlyName()

答案 2 :(得分:0)

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