以下代码有效:
<cfoutput>#$.currentURL()#</cfoutput>
但是,在函数中,“$”不可用。
<cfscript>
function myTest() {
return $.currentURL();
}
</cfscript>
有谁知道函数中实际上等价于$?
同样,#pluginConfig.getDirectory()#
在cfoutput中直接使用时也能正常工作。但是,在cfscript函数中,它会报告“unknown variable pluginConfig。”
感谢您提前指导我朝着正确的方向前进。
答案 0 :(得分:1)
在Mura事件范围之外编写代码时(就像使用该函数一样),您必须自己获取Mura Scope($)的实例。这可以使用以下代码完成:
$ = application.serviceFactory.getBean('$');
接下来,您必须使用事件对象,具有值对的结构或“siteID”来初始化实例:
$.init(event);
$.init(myStruct);
$.init(siteID);
pluginConfig的计数相同,您可以通过Mura Scope获得。您必须传递插件的pluginID,moduleID,名称或包:
$.getPlugin(pluginID);
$.getPlugin(moduleID);
$.getPlugin(name);
$.getPlugin(package);
您拥有的另一个选项是将Mura Scope和pluginConfig作为参数传递给函数。在编写小插件时,这可能是更简单的方法。但是当你编写中型或大型插件时,当你一直传递这些对象时会有点麻烦。
答案 1 :(得分:0)
$在某些CF框架(如Mura)中用作特殊框架变量。您需要弄清楚代码在
中执行的框架上下文(如果有的话)