- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对问题短语感到抱歉。我找不到更好的方式来描述它。但我的问题如下:
我有 3 个 cfc,即 settings.cfc、prices.cfc 和 helpers.cfc。这些 cfc 扩展了第 4 个 cfc controller.cfc。
helper.cfc 如下:
<cfcomponent extends="Controller">
<cffunction name="formatCurrency">
<cfset formattedCurrency = 1 />
<cfreturn formattedCurrency>
</cffunction>
<cffunction name="processTemplateVariables">
<cfargument name="templateText" default="defaultText" >
<cfset formatCurrency() />
<cfreturn formattedCurrency >
</cffunction>
</cfcomponent>
<cfcomponent extends="Controller">
<cffunction name="setApplicationVariables">
<cfset application.helpers = createObject("component","controllers.Helpers") />
</cffunction>
</cfcomponent>
<cfcomponent extends="Wheels">
<cfset getFormattedCurrency = application.helpers.processTemplateVariables >
</cfcomponent>
function processTemplateVariables
,它确实如此。但它
does not call the function formatCurrency
从 processTemplateVariables 内部调用它并抛出错误“
变量 formatCurrency 未定义 ”。
application.helpers.processTemplateVariables(templateText="someText")
, 有用。
<cfinvoke method="processTemplateVariables" component="controllers.helpers" templateText="someText" returnvariable="content">
<cfcomponent extends="Controller">
<cffunction name="index">
<!--- does not work, throws 'the formatCurrency() variable is undefined' --->
<cfdump var="#getFormattedCurrency("someText")#"><cfabort>
<!--- works --->
<cfinvoke method="processTemplateVariables" component="controllers.helpers" templateText="someText" returnvariable="content">
<!--- works --->
<cfset application.helpers.processTemplateVariables("someText") />
</cffunction>
</cfcomponent>
最佳答案
更新:
This blog entry (by Adam Cameron)有更好的描述。总结一下:
.. it pulls the method out of the CFC, so it will be running in the context of the calling code, not the CFC instance. Depending on the code in the method, this might or might not matter.
formatCurrency
,它在调用页面的“上下文”中不存在,这就是您收到“未定义”错误的原因。
#application.helpers.formatCurrency#
转储出来,您可以看到内部类名)换句话说,它与任何特定实例断开连接 - 并且通过扩展 - 其他函数。
variables
中。范围。因此,当您从实例中调用“processTemplateVariables”时,它可以通过组件的
variables
访问其他功能。范围。当您的代码创建对该函数的引用时,您实际获得的内容与父实例完全断开,即
application.helpers
.因此,它无法访问任何其他功能。因此,为什么您会收到“未定义”错误。
关于coldfusion - 如何使用 cfc 对象的引用从另一个函数调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441979/
我有一个具有多种功能的 cfc 文件 (info.cfc),如下所示。 ... SELECT
我将从 ColdFusion 8 迁移到 ColdFusion 10。 目前,在我的Unix根目录下,我只有1个Application.cfm,在这个根目录下我有大约10个子目录(以前的程序员就是这样
我需要一种方法来获取 Coldfusion 返回的 json 并将其显示在 jquery 中我可以很好地显示第一个结果,但如果返回多于一条记录,我就会陷入困境这是我的 cfc In this que
我有一个使用 cfc 的页面。像这样: 如果 cfc 位于文件夹内,我该如何调用它们?截至目前,它们仅在处于同一级别或同一文件夹内时才有效?您如何称呼处于不同级别的 cfc? 还是我不理解 cfc
我有一组从两个单独的应用程序范围访问的 CFC。 一个/Application.cfc 位于根目录中。 另一个应用程序在/Admin/Application.cfc cfc 位于/_cfc/ 如果我从
我已经看到了在父文件夹中扩展 cfc 可以访问父文件或 CF 管理的各种解决方案,但我还没有看到一个可行的解决方案来在“共享”/兄弟文件夹中扩展 cfc 而不访问父文件夹。 This solution
在我被要求研究冷融合应用程序中一些奇怪的间歇性错误之前,我没有使用过冷融合。 在阅读了有关范围之后,我认为问题是因为我的 cfc 函数中的所有变量都没有使用 var关键字,并且在各种函数中使用相同的变
参加晚会比较晚,我正试图过渡到使用 CFC 以简化事情。在这个阶段,我只是试图找到我的脚并理解它们 - 使用 CFWACK 9 作为指导。 然而,我的第一次尝试让我难住了! 这是我的 CFC 中的内容
好的,我是 Coldfusion 组件的新手,尽管我认为我在概念上理解它们。我接手了一个项目,在数据访问模型中,我只有一个 cfm,里面有这一行: 我需要修改这个组件背后的sql,但是无法根据这个
在装有 IIS 8.5 的 Server 2012 R2 上运行 ColdFusion 10 Update 18。我对 CFC 进行了更改,并创建了一个新的 CFC 文件来进行测试。我所做的更改没有反
对问题短语感到抱歉。我找不到更好的方式来描述它。但我的问题如下: 我有 3 个 cfc,即 settings.cfc、prices.cfc 和 helpers.cfc。这些 cfc 扩展了第 4 个
你怎么能管理这样的事情?我尽我最大的努力将子系统设计为可重用,但只有某些特定于站点的东西必须自定义(例如 Account 实体中的字段,或 orm 注释中的 cfc="")。 我曾想过使用 SVN 并
有没有办法通过像 firebug 或其他浏览器插件这样的胸罩来从 cfc 文件中进行跟踪或记录控制台。 如果这似乎是一个愚蠢的问题,我对 CF 完全陌生,很抱歉。 最佳答案 如果您希望日志在浏览器中可
我目前正在使用 标记调用 CFC 并传递参数。这真的很方便,因为我可以使用标签只传递我想要的参数,例如: 如果我使用 new()或 createObject()方法来创建 C
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: restart application without restarting server? 如何在不重置 Cold
我已经在 ColdFusion 中编写了一个数据库加载脚本,但我遇到了脚本缓慢耗尽内存的问题。我已经使用 将每个表负载拆分到它自己的线程中,并且当内存低于 50% 时我正在调用垃圾收集器(确保在 gc
在我们的 Portal application.cfc 中,我们定义(设置)我们的 DSN 连接,如下所示: (Main DB) (2nd DB) (3rd DB) 这些在标签中。然后我也移到了
我需要一个现实检查 - 希望一个解释(如果我的现实是错误的)。 CF应用框架评估事物的方式是这样的(我的理解) - 请求被传递到 cfserver cf 查找 application.cfm 或 cf
我使用CFBuilder“创建CFC”插件为表创建服务,所以我可以玩OOD。现在我正在努力使用以动态方式生成的“更新”功能。 我调用了一个 cfc,以获取帐户的结构,并传递一个 ID。 我可以使用手
我在网上做了一些搜索,看看这是否可以完成,但没有找到任何可以说的内容。我在根目录下有一个 application.cfc,并且有几个子文件夹,我希望它的功能相同,只有细微的差别。例如,根处的 cfc
我是一名优秀的程序员,十分优秀!