我有一个组件,比如说MyComponent。我已经注入了一个服务到这个组件,比如MyService。如何在注入时将参数传递给一个支持服务?
当在另一个组件(比如ParentComponent)中使用'MyComponent'时,它通过模板将一些参数传递给'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'传递给服务,而不是调用服务中的另一个函数。