1

私はこのようなことをしたい:

{{component-one title=(component-two paramX paramY)}}

ここではコンポーネントヘルパーが機能しません。これを試しました

{{component-one title=(component 'component-two' params)}}

コンポーネントをレンダリングするヘルパーも作成しようとしましたが、失敗しました。私が見つけたすべての答えはこのように古くなっているよう です。変数を介して動的に ember コンポーネントを呼び出すにはどうすればよいですか?

私のユースケースをより具体的にするために。ツールチップスターを使用していて、ボタンの初期化でツールチップをレンダリングしたいと考えています。

{{#tool-tipster title=(my-comp params) ... }}

- - - アップデート - - - - -

問題は、最後にボタンと data-ember-action を含むタイトルの HTML 文字列が必要なことです。ラッパー コンポーネントの tpl を使用できません。ツールチップスターを拡張すると、次のようになります。

export default TooltipsterComponent.extend({
  title: 'title as html string'
  //other tooltipster options go here with "optionname: optionvalue"
});

だから私はすでに次のようなことを考えていました:

title: function() {
  //load component and return rendered component by hand
}}

しかし、これにより、コンポーネントを手動でレンダリングできなかったという問題に戻ります。

入力ごとに Thx!

乾杯パイ

- - - アップデート - - - -

gitbub の altrim は、私の問題の正確な解決策を提供してくれました: https://github.com/altrim/tooltipster-content-component

4

2 に答える 2

2

これは可能ですが、コンポーネント ヘルパーを 2 回使用する必要があります。

最初にコンポーネントを渡します:

{{wrap-component child=(component 'pass-component' name="blah")}}

次にwrap-component.hbs、コンポーネントを呼び出します。

{{component child}}

このember-twiddle をチェックしてください。

于 2016-06-01T19:45:42.427 に答える
1

を使用するのtitle=(component 'component-two' params)は正しい考えでしたが、名前を解決する以外に、コンポーネントヘルパーで位置パラメータを使用できないと確信しています..したがって、代わりにこれを行う必要があります。title=(component 'component-two' params=params)

そのコンポーネントを内部でレンダリングする場合は、component-one次のようにコンポーネント ヘルパーを再度使用する必要があります。 {{component title}}

これは、少なくとも私がそれを機能させる方法です..私はそれが「残り火」の方法であると確信しています。

于 2016-06-01T13:59:37.090 に答える