cfselectをcfcにバインドするためにaccess = "remote"を使用すると、Init()コンストラクタを持つことができなくなります。cffunction Access =
<cfselect name="CityID" bind="cfc:Components.City.View1({StateID})" value="CityID" display="CityName" bindonload="yes" />
私はコンポーネントをインスタンス化するとき、私はそうのように、Init関数にデータソース名を渡すために使用しています:正確に、質問です
<cfcomponent>
<cffunction name="Init">
<cfargument name="DS">
<cfset Variables.Instance.DS = arguments.DS>
<cfreturn This>
</cffunction>
<cffunction name="View1">
<cfset var qry = "">
<cfquery name="qry" datasource="#Variables.Instance.DS.Datasource#">
SELECT *
FROM Table
</cfquery>
<cfreturn qry>
</cffunction>
</cfcomponent>
アダム、どのような素晴らしい返信です!それは非常に役に立ちます。私が今抱えている唯一の問題は、cfc内でApplicationスコープを使用していることです。 –
リモートプロキシオブジェクトは特殊なケースです。私はこれよりも優れた実装にはまだ触れていない。 ColdSpringを使用してこれらのリモートプロキシを作成することもできますが、同じ方法で動作します。 http://coldspringframework.org/coldspring/examples/quickstart/index.cfm?page=remote –
ストレージをパラメータ化します。依存性注入を使用してストレージメカニズムをCFCに渡し、次にCFC自体からVARIABLESスコープを使用します。 DI基礎のためのColdSpringフレームワークの読み込みをお勧めします。 –