1

親コンポーネントのサンプル init メソッド

   <cffunction name="init" output="false" access="public" returntype="NavigationBase">
      <cfset this.index             = 0 />
      <cfset this.length            = 0 />
      <cfset this.current           = "" />
      <cfreturn this />
   </cffunction>
   .
   .
   .

子コンポーネントのサンプル コード

  <cfcomponent displayname="Navigation" output="false" extends="NavigationBase">
    <cffunction name="init" output="false" access="public" returntype="Navigation">
     <cfreturn this/>
    </cffunction>

    . 
    . 

子コンポーネントをインスタンス化すると、親の init 関数で定義された変数は常に未定義になります。私がここで間違っていることは何ですか?

ありがとう

4

1 に答える 1

10

子のinit()は親init()メソッドをオーバーライドするため、変数はどこにも定義されません。この行をお子様に追加してくださいinit

<cfset super.init()>

親を実行し、initそれらの変数を定義/初期化します。

于 2012-05-04T16:12:31.677 に答える