プラグインのアウトレットにコンポーネントのアクションを追加する方法は?

プラグインのアウトレットで既存のコンポーネントを参照しようとしていますが、エラーが 계속発生しています。主な問題は、コンポーネントに関連付けられたアクションのようです。プラグインのアウトレットで別​​のコンポーネントのアクションを参照する適切な方法はありますか?

プラグインのアウトレットでは、コンポーネントを参照するだけで(つまり、{{component-name action=(action \"doSomething\")...}})、そのコンポーネントのアクションの関連コードがすべて取り込まれると考えていました。しかし、そうではないようです。なぜなら、さまざまなエラー(特定のものが未定義である、不適切な定義である、その他、アクションのJavaScriptがプラグインのアウトレットに正しく取り込まれていないことを示唆するようなもの)が 계속発生しているからです。


例:

テンプレートに、composer-action-titleコンポーネントへの参照が次のようにある場合:
composer.hbs:

 {{composer-action-title
       model=model
        openComposer=(action "openComposer")
        closeComposer=(action "closeComposer")
        canWhisper=canWhisper
        tabindex=8
  }}

そして、同じコードを持つプラグインのアウトレットを追加したい場合:

connectors/cool-outlet/cool-outlet.hbs:

 {{composer-action-title
       model=model
        openComposer=(action "openComposer")
        closeComposer=(action "closeComposer")
        canWhisper=canWhisper
        tabindex=8
  }}

cool-outletプラグインアウトレットが、「openComposer」および「closeComposer」アクションを含むcomposer-action-titleコンポーネントを正常に参照できるようにするには、何をする必要がありますか?

これで基本的な要点はつかめたと思いますが、他に提案があれば喜んでお聞きします。

アクションやその他の引数をプラグインのアウトレットに渡すには、コンポーネントへの参照と同様に、プラグインのアウトレット参照に追加できます。

ただし、正しい引数、つまり正しい変数参照を渡しているか注意してください。

私の例を使用します。テンプレート composer.hbs に表示されるコンポーネント参照は次のとおりです。

{{composer-action-title
       model=model
       openComposer=(action "openComposer")
       closeComposer=(action "closeComposer")
       canWhisper=canWhisper
       tabindex=8
  }}

この参照をプラグインのアウトレットへの参照に置き換えたい場合(ディスコースの変更に伴うメンテナンスの難易度を考えると、テンプレートファイルを編集する場合は注意が必要ですが)、composer.hbs に次のように記述できます。

{{plugin-outlet name="cool-outlet" args=(hash
       model=model
       openComposer=(action "openComposer")
       closeComposer=(action "closeComposer")
       canWhisper=canWhisper
       tabindex=8
    )
}}

そして、connectors/cool-outlet/cool-outlet.hbs では、composer-action-title コンポーネントを参照するために次のように記述する必要があります。

{{composer-action-title
       model=model
       openComposer=openComposer
       closeComposer=closeComposer
       canWhisper=canWhisper
       tabindex=8
  }}

ここでの変数は、composer.hbs ファイルで設定された変数です。