0

インクルードされた*.asファイル内の関数のローカル変数に対してオートコンプリートが機能しないのはなぜですか?例えば:

Main.mxml:

<fx:Script>  
<![CDATA[
  include "code.as";     // or <fx:Script source="code.as"/>, doesn't matter  
]]>  
</fx:Script>

code.as:

import mx.controls.Button;
var foo:Button = new Button();
foo.   <---- autocompletion is working here

function myFunc() {
  var bar:Button = new Button();
  bar.   <----- doesn't work
}
4

1 に答える 1

3

オートコンプリートは、コード クラスがインポートされた場合、またはクラスが .as クラスを拡張した場合にのみ機能します。Class でなければなりません'include code.as'を使用すると、 code.as はクラスではなく、基本的に変数、インポート、および関数のコレクションにすぎないため、オートコンプリートはクラスのようにアクセスできません。

コード ビハインド パターンは、あなたが行っていること (mxml からロジックを分離すること) に似ており、自動補完を可能にします。使用するには:

  1. HBox や UIComponent など、使用する MXML コントロールを拡張する Actionscript クラスを作成します。
  2. この Actionscript クラス内にすべてのロジックを配置します。
  3. 次に、Actionscript クラスを拡張する MXML クラスを作成します。

コード補完は、パブリック/保護された変数および関数にアクセスするために、新しいカスタム MXML クラスで機能します。

于 2011-01-18T12:14:58.737 に答える