我正在尝试从jTemplates模板中调用的函数出现一个奇怪的问题,给出错误“XYZ.getFriendlyName不是函数”。似乎我一定忽略了一些简单的事情,但我已经尝试了所有我能想到的事情并且错误仍然存在。代码如下所示:
<input type="text" value="{#if $T.RowId !== null}{XYZ.getFriendlyName($T.RowId)}{#/if}"/>
我已经尝试删除函数中的所有内容以排除语法错误,重命名函数并将其移动到全局命名空间中,将函数本身移动到模板所在的页面中,在模板代码之前。三元运算符中的所有东西,到目前为止我还没有在jTemplates中完成任务。我继续得到同样的错误。有谁知道我可以解决这个问题的方法吗?
谢谢! Garann
答案 0 :(得分:2)
不要使用撇号作为功能: 首先定义函数:
function getFriendlyName( param ){
}
向param添加功能:
$('template-name').setParam('getFriendlyName', getFriendlyName);
使用$P
之类的$P.getFriendlyName()
进行模板内的访问功能
对于前者{$P.getFriendlyName($T.id)}
答案 1 :(得分:1)
首先定义函数:
function getFriendlyName(param){
}
向param添加功能:
$('template-name')。setParam('getFriendlyName','getFriendlyName');
使用$ P like访问模板内部的功能 $ P.getFriendlyName()
答案 2 :(得分:0)
如果有人好奇,这是一个时间和背景问题。在完全读取同一页面上的JS文件之前,jTemplate正在处理。将函数移动到开始处理顶部/第一个模板的对象中可以解决问题。