0

何かを正しい方法で行っているかどうかを知る必要があります。

特定のページに対して、ページ自体のオブジェクトをインスタンス化しています。そのオブジェクトを myPage と呼びましょう。ページ内にコンテナ (通常は div タグ) があります。特定の div を操作するために管理コンポーネントに移動するときは、そのオブジェクトもインスタンス化します。これを myDiv と呼びましょう。

ここで、特定の div に対して作業したいことの 1 つは、その div のスタイリングです。したがって、通常は、myDiv.getPadding() や myDiv.getBackgroundColor() などのスタイル関連のメソッドをいくつか入れるだけだと思います。

しかし、最終的には、スタイル関連の処理を行う必要がある他のオブジェクトが必要になる可能性があることに気付きました。

この場合、別の style.cfc を作成する必要がありますか? それは div オブジェクトによって拡張されますか? それとも、スタイル オブジェクトは div オブジェクトを拡張しますか? 私の理解では、より具体的なオブジェクトがより具体的でないオブジェクトを拡張するということですが、この場合、どちらがより具体的であるかはわかりません。特定の div を参照する div オブジェクトか、特定のセットを提供するスタイル オブジェクトかです。データ?

前もって感謝します!

4

2 に答える 2

3

まず、スタイルをその場で作成する必要がない限り、動的に作成するのではなく、1 つまたは複数のスタイルシートを作成して動的にリンクします。

ただし、オンザフライで作成する必要があると仮定すると...

コントロール (div) がスタイルを拡張することも、その逆もありません。スタイルは div のより具体的な定義ではなく、逆も真ではありません。私がすることは、特定の要素または要素セットの表示メタデータのみを含むスタイル オブジェクトを作成することです。これは、(拡張機能ではなく) コントロール/div オブジェクト内に含めることも、ページ オブジェクトの一部にすることもできます。スタイルは間違いなくコントロールに関連していますが、コンテンツとプレゼンテーションを分離するのが難しくなるため、それらを組み合わせることはしません。

于 2010-09-30T19:39:31.363 に答える
0

これが最善の方法だと言っているわけではありませんが、CFC を使用してページのスタイルを設定したい場合は、すべての HTML タグの基本クラスとして機能する HtmlTag.cfc を DivTag.cfc で拡張することができます。次に、StyleAttribute.cfc を HtmlTag.cfc に構成して、背景色やパディングなどのスタイル プロパティを操作できます。したがって、myDiv.getStyle().getPadding() などの関数を呼び出すことになります。

一般に、継承 (「is a」) よりも構成 (「has a」) を優先するようにし、コンポーネント階層に夢中になりすぎないようにする必要があります。この場合、CSS ファイルを使用してページのスタイルを設定することをお勧めします。

于 2010-10-01T17:05:26.637 に答える