【发布时间】:2017-11-11 14:33:01
【问题描述】:
我有一个组件,比如 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”传递给服务,而不是调用服务中的另一个函数。
【问题讨论】:
标签: ember.js dependency-injection