私はコンポーネント、例えばMyComponentを持っています。私はこのコンポーネントにサービスを注入しました、MyServiceと言います。注入時にエバーサービスに引数を渡すにはどうしたらいいですか?
'MyComponent'が別のコンポーネント(ParentComponentなど)の内部で使用されている場合、テンプレートを介していくつかの引数が 'MyComponent'に渡されます。 'MyComponent'に注入される 'MyService'は、このテンプレート引数を必要とします。サービスを注入する際に、どのようにサービスに渡すことができますか?
今、私は 'MyComponent'のinit()関数で呼び出される特別な関数をサービス内に記述しています。それが正しいかどうかは分かりません。ここで
はラフなコードの例です:
親コンポーネント/ template.hbs:
// some html
{{my-component myOptions=parentOptions}}
// some html
私成分/ component.js:
export default Component.extend({
// some js
myService: inject.service(),
init() {
this._super(...arguments);
get(this, 'myService').passDownMyArguments(get(this, 'myOptions'));
},
// some js again
})
私がどうかを知りたいですサービス内の別の関数を呼び出すのではなく、注入されたときに 'myOptions'をサービスに渡すことができます。