访问 cfmodule 属性的默认变量

问题描述

我正在将 cfmodule 与模板一起使用,并且我希望访问模块的认值,即使传入了其他值。这可能以某种方式实现吗?输出属性范围只是传入了整个数据,没有任何值的指示。

示例。

<cfmodule fielda="#data#" template="myTemplate.cfm" />

myTemplate.cfm

<cfparam name="attributes.data" default="1" />

假设数据的值为 2。是否可以从 myTemplate.cfm 中知道认值为 1?

解决方法

不太可能。模板所能做的就是在模板中包含一堆 HTML。

但解决方案很简单:改用 .cfc。调用输出 HTML 的函数,而不是 <cfmodule> 模板。除非它被发送一个参数“mode=diagnostic”或类似的参数,在这种情况下它不会输出任何东西,而是返回一个结构体。

所以你可以在诊断模式下调用函数,读取结构,或者在默认模式下调用它并输出内容。

有意义吗?