Мы не можем видеть, что происходит в вашем компоненте, так что это предположение.Когда вы используете argumentcollection
с <cfinvoke>
и передаете структуру, структура разбивается на компонент, как если бы его элементы были переданы в качестве отдельных аргументов.Так что если у вас есть:
<cfset foo.this = 1>
<cfset foo.that = 2>
<cfinvoke...argumentcollection="#foo#">
... то внутри компонента у вас будет:
arguments.this; // 1
arguments.that; // 2
У вас не будет ни arguments.foo.this
, ни foo.this
.Поэтому, если вы хотите передать область формы и инкапсулировать ее внутри компонента, вы можете попробовать это:
<cfinvoke...formscope="#form#">
Затем внутри метода вызванного компонента вы сможете использовать:
arguments.formscope.EMAIL_1
arguments.formscope.EMAIL_2
arguments.formscope.FIELDNAMES
... и т. Д.Вы также можете заглянуть в <cfinvokeargument>
.Если ничего из этого не поможет, возможно, публикация небольшого количества того, что происходит внутри компонента, будет проливать дополнительный свет.