如何在ember js中从子组件调用父组件方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ember js中从子组件调用父组件方法相关的知识,希望对你有一定的参考价值。
我知道Ember中的动作和数据提升策略,但有没有办法可以从子组件调用父组件方法(而不是动作)?
答案
据我所知,没有直接的方法,但你可以用全局事件总线实现相同的行为。
使用Ember.Service创建一个新服务,它将使用Ember.Evented充当事件总线。使用此服务父组件可以发布事件,子组件现在可以订阅这些事件而无需引用父组件
另一答案
好吧,如果我想从child调用父方法,我就是这样使用的:
父组件.hbs:
{{component-name owner=this}}
父component.js:
import Component from '@ember/component';
export default Component.extend({
parentMethod(){
// I am doing something
}
});
子component.js
import Component from '@ember/component';
export default Component.extend({
didInsertElement(){
this.get('owner').parentMethod();
}
});
在这种情况下,这不是行动。
以上是关于如何在ember js中从子组件调用父组件方法的主要内容,如果未能解决你的问题,请参考以下文章